fast fourier transforms sidney burrus

254
Fast Fourier Transforms Collection Editor: C. Sidney Burrus

Upload: mayam-ayo

Post on 31-Oct-2015

187 views

Category:

Documents


0 download

TRANSCRIPT

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 1/254

Fast Fourier Transforms

Collection Editor:

C. Sidney Burrus

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 2/254

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 3/254

Fast Fourier Transforms

Collection Editor:

C. Sidney Burrus

Authors:

C. Sidney Burrus

Matteo Frigo

Steven G. Johnson

Markus Pueschel

Ivan Selesnick

Online:

< http://cnx.org/content/col10550/1.21/ >

C O N N E X I O N S

Rice University, Houston, Texas

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 4/254

T h i s s e l e c t i o n a n d a r r a n g e m e n t o f c o n t e n t a s a c o l l e c t i o n i s c o p y r i g h t e d b y C . S i d n e y B u r r u s . I t i s l i -

c e n s e d u n d e r t h e C r e a t i v e C o m m o n s A t t r i b u t i o n 2 . 0 l i c e n s e ( h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 / )

C o l l e c t i o n s t r u c t u r e r e v i s e d : A p r i l 1 0 , 2 0 1 0

P D F g e n e r a t e d : O c t o b e r 2 6 , 2 0 1 2

F o r c o p y r i g h t a n d a t t r i b u t i o n i n f o r m a t i o n f o r t h e m o d u l e s c o n t a i n e d i n t h i s c o l l e c t i o n , s e e p . 2 4 4 .

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 5/254

T a b l e o f C o n t e n t s

1 P r e f a c e : F a s t F o u r i e r T r a n s f o r m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 I n t r o d u c t i o n : F a s t F o u r i e r T r a n s f o r m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 M u l t i d i m e n s i o n a l I n d e x M a p p i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1

5 T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 7

6 F a c t o r i n g t h e S i g n a l P r o c e s s i n g O p e r a t o r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 9

7 W i n o g r a d ' s S h o r t D F T A l g o r i t h m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3

8 D F T a n d F F T : A n A l g e b r a i c V i e w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5

9 T h e C o o l e y - T u k e y F a s t F o u r i e r T r a n s f o r m A l g o r i t h m . . . . . . . . . . . . . . . . . . . . . . . . 7 9

1 0 T h e P r i m e F a c t o r a n d W i n o g r a d F o u r i e r T r a n s f o r m A l g o -

r i t h m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 7

1 1 I m p l e m e n t i n g F F T s i n P r a c t i c e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0 9

1 2 A l g o r i t h m s f o r D a t a w i t h R e s t r i c t i o n s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 7

1 3 C o n v o l u t i o n A l g o r i t h m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 9

1 4 C o m m e n t s : F a s t F o u r i e r T r a n s f o r m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 3

1 5 C o n c l u s i o n s : F a s t F o u r i e r T r a n s f o r m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 7

1 6 A p p e n d i x 1 : F F T F l o w g r a p h s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 9

1 7 A p p e n d i x 2 : O p e r a t i o n C o u n t s f o r G e n e r a l L e n g t h F F T . . . . . . . . . . . . . . . . . . 1 6 5

1 8 A p p e n d i x 3 : F F T C o m p u t e r P r o g r a m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6 7

1 9 A p p e n d i x 4 : P r o g r a m s f o r S h o r t F F T s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0 7

B i b l i o g r a p h y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1 0

I n d e x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 2

A t t r i b u t i o n s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 4

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 6/254

i v

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 7/254

C h a p t e r 1

P r e f a c e : F a s t F o u r i e r T r a n s f o r m s

1

T h i s b o o k f o c u s e s o n t h e d i s c r e t e F o u r i e r t r a n s f o r m ( D F T ) , d i s c r e t e c o n v o l u t i o n , a n d , p a r t i c -

u l a r l y , t h e f a s t a l g o r i t h m s t o c a l c u l a t e t h e m . T h e s e t o p i c s h a v e b e e n a t t h e c e n t e r o f d i g i t a l

s i g n a l p r o c e s s i n g s i n c e i t s b e g i n n i n g , a n d n e w r e s u l t s i n h a r d w a r e , t h e o r y a n d a p p l i c a t i o n s

c o n t i n u e t o k e e p t h e m i m p o r t a n t a n d e x c i t i n g .

A s f a r a s w e c a n t e l l , G a u s s w a s t h e r s t t o p r o p o s e t h e t e c h n i q u e s t h a t w e n o w c a l l t h e f a s t

F o u r i e r t r a n s f o r m ( F F T ) f o r c a l c u l a t i n g t h e c o e c i e n t s i n a t r i g o n o m e t r i c e x p a n s i o n o f a n

a s t e r o i d ' s o r b i t i n 1 8 0 5 [ 1 7 4 ] . H o w e v e r , i t w a s t h e s e m i n a l p a p e r b y C o o l e y a n d T u k e y [ 8 8 ]

i n 1 9 6 5 t h a t c a u g h t t h e a t t e n t i o n o f t h e s c i e n c e a n d e n g i n e e r i n g c o m m u n i t y a n d , i n a w a y ,

f o u n d e d t h e d i s c i p l i n e o f d i g i t a l s i g n a l p r o c e s s i n g ( D S P ) .

T h e i m p a c t o f t h e C o o l e y - T u k e y F F T w a s e n o r m o u s . P r o b l e m s c o u l d b e s o l v e d q u i c k l y

t h a t w e r e n o t e v e n c o n s i d e r e d a f e w y e a r s e a r l i e r . A u r r y o f r e s e a r c h e x p a n d e d t h e t h e o r y

a n d d e v e l o p e d e x c e l l e n t p r a c t i c a l p r o g r a m s a s w e l l a s o p e n i n g n e w a p p l i c a t i o n s [ 9 4 ] . I n

1 9 7 6 , W i n o g r a d p u b l i s h e d a s h o r t p a p e r [ 4 0 3 ] t h a t s e t a s e c o n d u r r y o f r e s e a r c h i n m o t i o n

[ 8 6 ] . T h i s w a s a n o t h e r t y p e o f a l g o r i t h m t h a t e x p a n d e d t h e d a t a l e n g t h s t h a t c o u l d b e

t r a n s f o r m e d e c i e n t l y a n d r e d u c e d t h e n u m b e r o f m u l t i p l i c a t i o n s r e q u i r e d . T h e g r o u n d

w o r k f o r t h i s a l g o r i t h m h a d b e s e t e a r l i e r b y G o o d [ 1 4 8 ] a n d b y R a d e r [ 3 0 8 ] . I n 1 9 9 7 F r i g o

a n d J o h n s o n d e v e l o p e d a p r o g r a m t h e y c a l l e d t h e F F T W ( f a s t e s t F o u r i e r t r a n s f o r m i n t h e

w e s t ) [ 1 3 0 ] , [ 1 3 5 ] w h i c h i s a c o m p o s i t e o f m a n y o f i d e a s i n o t h e r a l g o r i t h m s a s w e l l a s n e w

r e s u l t s t o g i v e a r o b u s t , v e r y f a s t s y s t e m f o r g e n e r a l d a t a l e n g t h s o n a v a r i e t y o f c o m p u t e r

a n d D S P a r c h i t e c t u r e s . T h i s w o r k w o n t h e 1 9 9 9 W i l k i n s o n P r i z e f o r N u m e r i c a l S o f t w a r e .

I t i s h a r d t o o v e r e m p h a s i s t h e i m p o r t a n c e o f t h e D F T , c o n v o l u t i o n , a n d f a s t a l g o r i t h m s . W i t h

a h i s t o r y t h a t g o e s b a c k t o G a u s s [ 1 7 4 ] a n d a c o m p i l a t i o n o f r e f e r e n c e s o n t h e s e t o p i c s t h a t

i n 1 9 9 5 r e s u l t e d i n o v e r 2 4 0 0 e n t r i e s [ 3 6 2 ] , t h e F F T m a y b e t h e m o s t i m p o r t a n t n u m e r i c a l

a l g o r i t h m i n s c i e n c e , e n g i n e e r i n g , a n d a p p l i e d m a t h e m a t i c s . N e w t h e o r e t i c a l r e s u l t s s t i l l a r e

a p p e a r i n g , a d v a n c e s i n c o m p u t e r s a n d h a r d w a r e c o n t i n u a l l y r e s t a t e t h e b a s i c q u e s t i o n s , a n d

n e w a p p l i c a t i o n s o p e n n e w a r e a s f o r r e s e a r c h . I t i s h o p e d t h a t t h i s b o o k w i l l p r o v i d e t h e

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 4 / 1 . 1 0 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

1

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 8/254

2

C H A P T E R 1 . P R E F A C E : F A S T F O U R I E R T R A N S F O R M S

b a c k g r o u n d , r e f e r e n c e s , p r o g r a m s a n d i n c e n t i v e t o e n c o u r a g e f u r t h e r r e s e a r c h a n d r e s u l t s i n

t h i s a r e a a s w e l l a s p r o v i d e t o o l s f o r p r a c t i c a l a p p l i c a t i o n s .

S t u d y i n g t h e F F T i s n o t o n l y v a l u a b l e i n u n d e r s t a n d i n g a p o w e r f u l t o o l , i t i s a l s o a p r o t o t y p e

o r e x a m p l e o f h o w a l g o r i t h m s c a n b e m a d e e c i e n t a n d h o w a t h e o r y c a n b e d e v e l o p e d t o

d e n e o p t i m a l i t y . T h e h i s t o r y o f t h i s d e v e l o p m e n t a l s o g i v e s i n s i g h t i n t o t h e p r o c e s s o f

r e s e a r c h w h e r e t i m i n g a n d s e r e n d i p i t y p l a y i n t e r e s t i n g r o l e s .

M u c h o f t h e m a t e r i a l c o n t a i n e d i n t h i s b o o k h a s b e e n c o l l e c t e d o v e r 4 0 y e a r s o f t e a c h i n g a n d

r e s e a r c h i n D S P , t h e r e f o r e , i t i s d i c u l t t o a t t r i b u t e j u s t w h e r e i t a l l c a m e f r o m . S o m e c o m e s

f r o m m y e a r l i e r F F T b o o k [ 5 9 ] w h i c h w a s s p o n s o r e d b y T e x a s I n s t r u m e n t s a n d s o m e f r o m

t h e F F T c h a p t e r i n [ 2 1 7 ] . C e r t a i n l y t h e i n t e r a c t i o n w i t h p e o p l e l i k e J i m C o o l e y a n d C h a r l i e

R a d e r w a s c e n t r a l b u t t h e w o r k w i t h g r a d u a t e s t u d e n t s a n d u n d e r g r a d u a t e s w a s p r o b a b l y

t h e m o s t f o r m a t i v e . I w o u l d p a r t i c u l a r l y l i k e t o a c k n o w l e d g e R a m e s h A g a r w a l , H o w a r d

J o h n s o n , M i k e H e i d e m a n , H e n r i k S o r e n s e n , D o u g J o n e s , I v a n S e l e s n i c k , H a i t a o G u o , a n d

G a r y S i t t o n . I n t e r a c t i o n w i t h m y c o l l e a g u e s , T o m P a r k s , H a n s S c h u e s s l e r , A l O p p e n h e i m ,

a n d S a n j i t M i t r a h a s b e e n e s s e n t i a l o v e r m a n y y e a r s . S u p p o r t h a s c o m e f r o m t h e N S F , T e x a s

I n s t r u m e n t s , a n d t h e w o n d e r f u l t e a c h i n g a n d r e s e a r c h e n v i r o n m e n t a t R i c e U n i v e r s i t y a n d

i n t h e I E E E S i g n a l P r o c e s s i n g S o c i e t y .

S e v e r a l c h a p t e r s o r s e c t i o n s a r e w r i t t e n b y a u t h o r s w h o h a v e e x t e n s i v e e x p e r i e n c e a n d d e p t h

w o r k i n g o n t h e p a r t i c u l a r t o p i c s . I v a n S e l e s n i c k h a d w r i t t e n s e v e r a l p a p e r s o n t h e d e s i g n o f

s h o r t F F T s t o b e u s e d i n t h e p r i m e f a c t o r a l g o r i t h m ( P F A ) F F T a n d o n a u t o m a t i c d e s i g n

o f t h e s e s h o r t F F T s . M a r k u s P us c h e l h a s d e v e l o p e d a t h e o r e t i c a l f r a m e w o r k f o r A l g e b r a i c

S i g n a l P r o c e s s i n g " w h i c h a l l o w s a s t r u c t u r e d g e n e r a t i o n o f F F T p r o g r a m s a n d a s y s t e m

c a l l e d S p i r a l " f o r a u t o m a t i c a l l y g e n e r a t i n g a l g o r i t h m s s p e c i c a l l y f o r a n a r c h i t i c t u r e . S t e v e n

J o h n s o n a l o n g w i t h h i s c o l l e a g u e M a t t e o F r i g o c r e a t e d , d e v e l o p e d , a n d n o w m a i n t a i n s t h e

p o w e r f u l F F T W s y s t e m : t h e F a s t e s t F o u r i e r T r a n s f o r m i n t h e W e s t . I s i n c e r e l y t h a n k t h e s e

a u t h o r s f o r t h e i r s i g n i c a n t c o n t r i b u t i o n s .

I w o u l d a l s o l i k e t o t h a n k P r e n t i c e H a l l , I n c . w h o r e t u r n e d t h e c o p y r i g h t o n T h e D F T a s

C o n v o l u t i o n o r F i l t e r i n g ( C h a p t e r 5 ) o f A d v a n c e d T o p i c s i n S i g n a l P r o c e s s i n g [ 4 9 ]

a r o u n d w h i c h s o m e o f t h i s b o o k i s b u i l t . T h e c o n t e n t o f t h i s b o o k i s i n t h e C o n n e x i o n s

( h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / ) r e p o s i t o r y a n d , t h e r e f o r e , i s a v a i l a b l e f o r o n - l i n e u s e ,

p d f d o w n l o a d i n g , o r p u r c h a s e a s a p r i n t e d , b o u n d p h y s i c a l b o o k . I c e r t a i n l y w a n t t o

t h a n k D a n i e l W i l l i a m s o n , A m y K a v a l e w i t z , a n d t h e s t a o f C o n n e x i o n s f o r t h e i r i n v a l u a b l e

h e l p . A d d i t i o n a l F F T m a t e r i a l c a n b e f o u n d i n C o n n e x i o n s , p a r t i c u l a r l y c o n t e n t b y D o u g

J o n e s [ 2 0 5 ] , I v a n S e l e s n i c k [ 2 0 5 ] , a n d H o w a r d J o h n s o n , [ 2 0 5 ] . N o t e t h a t t h i s b o o k a n d a l l

t h e c o n t e n t i n C o n n e x i o n s a r e c o p y r i g h t e d u n d e r t h e C r e a t i v e C o m m o n s A t t r i b u t i o n l i c e n s e

( h t t p : / / c r e a t i v e c o m m o n s . o r g / ) .

I f r e a d e r s n d e r r o r s i n a n y o f t h e m o d u l e s o f t h i s c o l l e c t i o n o r h a v e s u g g e s t i o n s f o r i m p r o v e -

m e n t s o r a d d i t i o n s , p l e a s e e m a i l t h e a u t h o r o f t h e c o l l e c t i o n o r m o d u l e .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 9/254

3

C . S i d n e y B u r r u s

H o u s t o n , T e x a s

O c t o b e r 2 0 , 2 0 0 8

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 10/254

4

C H A P T E R 1 . P R E F A C E : F A S T F O U R I E R T R A N S F O R M S

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 11/254

C h a p t e r 2

I n t r o d u c t i o n : F a s t F o u r i e r T r a n s f o r m s

1

T h e d e v e l o p m e n t o f f a s t a l g o r i t h m s u s u a l l y c o n s i s t s o f u s i n g s p e c i a l p r o p e r t i e s o f t h e a l g o -

r i t h m o f i n t e r e s t t o r e m o v e r e d u n d a n t o r u n n e c e s s a r y o p e r a t i o n s o f a d i r e c t i m p l e m e n t a t i o n .

B e c a u s e o f t h e p e r i o d i c i t y , s y m m e t r i e s , a n d o r t h o g o n a l i t y o f t h e b a s i s f u n c t i o n s a n d t h e

s p e c i a l r e l a t i o n s h i p w i t h c o n v o l u t i o n , t h e d i s c r e t e F o u r i e r t r a n s f o r m ( D F T ) h a s e n o r m o u s

c a p a c i t y f o r i m p r o v e m e n t o f i t s a r i t h m e t i c e c i e n c y .

T h e r e a r e f o u r m a i n a p p r o a c h e s t o f o r m u l a t i n g e c i e n t D F T [ 5 0 ] a l g o r i t h m s . T h e r s t t w o

b r e a k a D F T i n t o m u l t i p l e s h o r t e r o n e s . T h i s i s d o n e i n M u l t i d i m e n s i o n a l I n d e x M a p p i n g

( C h a p t e r 3 ) b y u s i n g a n i n d e x m a p a n d i n P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s ( C h a p t e r 4 ) b y

p o l y n o m i a l r e d u c t i o n . T h e t h i r d i s F a c t o r i n g t h e S i g n a l P r o c e s s i n g O p e r a t o r s ( C h a p t e r 6 )

w h i c h f a c t o r s t h e D F T o p e r a t o r ( m a t r i x ) i n t o s p a r s e f a c t o r s . T h e D F T a s C o n v o l u t i o n o r

F i l t e r i n g ( C h a p t e r 5 ) d e v e l o p s a m e t h o d w h i c h c o n v e r t s a p r i m e - l e n g t h D F T i n t o c y c l i c

c o n v o l u t i o n . S t i l l a n o t h e r a p p r o a c h i s i n t e r e s t i n g w h e r e , f o r c e r t a i n c a s e s , t h e e v a l u a t i o n o f

t h e D F T c a n b e p o s e d r e c u r s i v e l y a s e v a l u a t i n g a D F T i n t e r m s o f t w o h a l f - l e n g t h D F T s

w h i c h a r e e a c h i n t u r n e v a l u a t e d b y a q u a r t e r - l e n g t h D F T a n d s o o n .

T h e v e r y i m p o r t a n t c o m p u t a t i o n a l c o m p l e x i t y t h e o r e m s o f W i n o g r a d a r e s t a t e d a n d b r i e y

d i s c u s s e d i n W i n o g r a d ' s S h o r t D F T A l g o r i t h m s ( C h a p t e r 7 ) . T h e s p e c i c d e t a i l s a n d e v a l u -

a t i o n s o f t h e C o o l e y - T u k e y F F T a n d S p l i t - R a d i x F F T a r e g i v e n i n T h e C o o l e y - T u k e y F a s t

F o u r i e r T r a n s f o r m A l g o r i t h m ( C h a p t e r 9 ) , a n d P F A a n d W F T A a r e c o v e r e d i n T h e P r i m e

F a c t o r a n d W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m s ( C h a p t e r 1 0 ) . A s h o r t d i s c u s s i o n o f

h i g h s p e e d c o n v o l u t i o n i s g i v e n i n C o n v o l u t i o n A l g o r i t h m s ( C h a p t e r 1 3 ) , b o t h f o r i t s o w n

i m p o r t a n c e , a n d i t s t h e o r e t i c a l c o n n e c t i o n t o t h e D F T . W e a l s o p r e s e n t t h e c h i r p , G o e r t z e l ,

Q F T , N T T , S R - F F T , A p p r o x F F T , A u t o g e n , a n d p r o g r a m s t o i m p l e m e n t s o m e o f t h e s e .

I v a n S e l e s n i c k g i v e s a s h o r t i n t r o d u c t i o n i n W i n o g r a d ' s S h o r t D F T A l g o r i t h m s ( C h a p t e r 7 )

t o u s i n g W i n o g r a d ' s t e c h n i q u e s t o g i v e a h i g h l y s t r u c t u r e d d e v e l o p m e n t o f s h o r t p r i m e l e n g t h

F F T s a n d d e s c r i b e s a p r o g r a m t h a t w i l l a u t o m a t i c l l y w r i t e t h e s e p r o g r a m s . M a r k u s P u e s c h e l

p r e s e n t s h i s A l g e b r a i c S i g n a l P r o c e s s i n g " i n D F T a n d F F T : A n A l g e b r a i c V i e w ( C h a p t e r 8 )

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 5 / 1 . 1 0 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

5

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 12/254

6

C H A P T E R 2 . I N T R O D U C T I O N : F A S T F O U R I E R T R A N S F O R M S

o n d e s c r i b i n g t h e v a r i o u s F F T a l g o r i t h m s . A n d S t e v e n J o h n s o n d e s c r i b e s t h e F F T W ( F a s t e s t

F o u r i e r T r a n s f o r m i n t h e W e s t ) i n I m p l e m e n t i n g F F T s i n P r a c t i c e ( C h a p t e r 1 1 )

T h e o r g a n i z a t i o n o f t h e b o o k r e p r e s e n t s t h e v a r i o u s a p p r o a c h e s t o u n d e r s t a n d i n g t h e F F T

a n d t o o b t a i n i n g e c i e n t c o m p u t e r p r o g r a m s . I t a l s o s h o w s t h e i n t i m a t e r e l a t i o n s h i p b e t w e e n

t h e o r y a n d i m p l e m e n t a t i o n t h a t c a n b e u s e d t o r e a l a d v a n t a g e . T h e d i s p a r i t y i n m a t e r i a l

d e v o t e d t o t h e v a r i o u s a p p r o a c h e s r e p r e s e n t t h e t a s t e s o f t h i s a u t h o r , n o t a n y i n t r i n s i c

d i e r e n c e s i n v a l u e .

A f a i r l y l o n g l i s t o f r e f e r e n c e s i s g i v e n b u t i t i s i m p o s s i b l e t o b e t r u l y c o m p l e t e . I h a v e

r e f e r e n c e d t h e w o r k t h a t I h a v e u s e d a n d t h a t I a m a w a r e o f . T h e c o l l e c t i o n o f c o m p u t e r

p r o g r a m s i s a l s o s o m e w h a t i d i o s y n c r a t i c . T h e y a r e i n M a t l a b a n d F o r t r a n b e c a u s e t h a t i s

w h a t I h a v e u s e d o v e r t h e y e a r s . T h e y a l s o a r e w r i t t e n p r i m a r i l y f o r t h e i r e d u c a t i o n a l v a l u e

a l t h o u g h s o m e a r e q u i t e e c i e n t . T h e r e i s e x c e l l e n t c o n t e n t i n t h e C o n n e x i o n s b o o k b y D o u g

J o n e s [ 2 0 6 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 13/254

C h a p t e r 3

M u l t i d i m e n s i o n a l I n d e x M a p p i n g

1

A p o w e r f u l a p p r o a c h t o t h e d e v e l o p m e n t o f e c i e n t a l g o r i t h m s i s t o b r e a k a l a r g e p r o b l e m

i n t o m u l t i p l e s m a l l o n e s . O n e m e t h o d f o r d o i n g t h i s w i t h b o t h t h e D F T a n d c o n v o l u t i o n

u s e s a l i n e a r c h a n g e o f i n d e x v a r i a b l e s t o m a p t h e o r i g i n a l o n e - d i m e n s i o n a l p r o b l e m i n t o a

m u l t i - d i m e n s i o n a l p r o b l e m . T h i s a p p r o a c h p r o v i d e s a u n i e d d e r i v a t i o n o f t h e C o o l e y - T u k e y

F F T , t h e p r i m e f a c t o r a l g o r i t h m ( P F A ) F F T , a n d t h e W i n o g r a d F o u r i e r t r a n s f o r m a l g o r i t h m

( W F T A ) F F T . I t c a n a l s o b e a p p l i e d d i r e c t l y t o c o n v o l u t i o n t o b r e a k i t d o w n i n t o m u l t i p l e

s h o r t c o n v o l u t i o n s t h a t c a n b e e x e c u t e d f a s t e r t h a n a d i r e c t i m p l e m e n t a t i o n . I t i s o f t e n e a s y

t o t r a n s l a t e a n a l g o r i t h m u s i n g i n d e x m a p p i n g i n t o a n e c i e n t p r o g r a m .

T h e b a s i c d e n i t i o n o f t h e d i s c r e t e F o u r i e r t r a n s f o r m ( D F T ) i s

C (k) =

N −1n=0

x (n) W nkN ( 3 . 1 )

w h e r e n, k , a n d N a r e i n t e g e r s , j =√ −1, t h e b a s i s f u n c t i o n s a r e t h e N r o o t s o f u n i t y ,

W N = e− j2π/N ( 3 . 2 )

a n d k = 0, 1, 2, · · · , N − 1 .

I f t h e N v a l u e s o f t h e t r a n s f o r m a r e c a l c u l a t e d f r o m t h e N v a l u e s o f t h e d a t a , x (n) , i t i s

e a s i l y s e e n t h a t N 2 c o m p l e x m u l t i p l i c a t i o n s a n d a p p r o x i m a t e l y t h a t s a m e n u m b e r o f c o m p l e x

a d d i t i o n s a r e r e q u i r e d . O n e m e t h o d f o r r e d u c i n g t h i s r e q u i r e d a r i t h m e t i c i s t o u s e a n i n d e x

m a p p i n g ( a c h a n g e o f v a r i a b l e s ) t o c h a n g e t h e o n e - d i m e n s i o n a l D F T i n t o a t w o - o r h i g h e r

d i m e n s i o n a l D F T . T h i s i s o n e o f t h e i d e a s b e h i n d t h e v e r y e c i e n t C o o l e y - T u k e y [ 8 9 ] a n d

W i n o g r a d [ 4 0 4 ] a l g o r i t h m s . T h e p u r p o s e o f i n d e x m a p p i n g i s t o c h a n g e a l a r g e p r o b l e m i n t o

s e v e r a l e a s i e r o n e s [ 4 6 ] , [ 1 2 0 ] . T h i s i s s o m e t i m e s c a l l e d t h e d i v i d e a n d c o n q u e r " a p p r o a c h [ 2 6 ]

b u t a m o r e a c c u r a t e d e s c r i p t i o n w o u l d b e o r g a n i z e a n d s h a r e " w h i c h e x p l a i n s t h e p r o c e s s

o f r e d u n d a n c y r e m o v a l o r r e d u c t i o n .

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 6 / 1 . 1 2 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 14/254

8

C H A P T E R 3 . M U L T I D I M E N S I O N A L I N D E X M A P P I N G

3 . 1 T h e I n d e x M a p

F o r a l e n g t h - N s e q u e n c e , t h e t i m e i n d e x t a k e s o n t h e v a l u e s

n = 0, 1, 2,...,N − 1 ( 3 . 3 )

W h e n t h e l e n g t h o f t h e D F T i s n o t p r i m e , N c a n b e f a c t o r e d a s N = N 1N 2 a n d t w o n e w

i n d e p e n d e n t v a r i a b l e s c a n b e d e n e d o v e r t h e r a n g e s

n1 = 0, 1, 2,...,N 1 − 1 ( 3 . 4 )

n2 = 0, 1, 2,...,N 2 − 1 ( 3 . 5 )

A l i n e a r c h a n g e o f v a r i a b l e s i s d e n e d w h i c h m a p s n1 a n d n2 t o n a n d i s e x p r e s s e d b y

n = ((K 1n1 + K 2n2))N ( 3 . 6 )

w h e r e K i a r e i n t e g e r s a n d t h e n o t a t i o n ((x))N d e n o t e s t h e i n t e g e r r e s i d u e o f x m o d u l o

N [ 2 3 2 ] . T h i s m a p d e n e s a r e l a t i o n b e t w e e n a l l p o s s i b l e c o m b i n a t i o n s o f n1 a n d n2 i n ( 3 . 4 )

a n d ( 3 . 5 ) a n d t h e v a l u e s f o r n i n ( 3 . 3 ) . T h e q u e s t i o n a s t o w h e t h e r a l l o f t h e n i n ( 3 . 3 ) a r e

r e p r e s e n t e d , i . e . , w h e t h e r t h e m a p i s o n e - t o - o n e ( u n i q u e ) , h a s b e e n a n s w e r e d i n [ 4 6 ] s h o w i n g

t h a t c e r t a i n i n t e g e r K i a l w a y s e x i s t s u c h t h a t t h e m a p i n ( 3 . 6 ) i s o n e - t o - o n e . T w o c a s e s m u s t

b e c o n s i d e r e d .

3 . 1 . 1 C a s e 1 .

N 1a n d

N 2a r e r e l a t i v e l y p r i m e , i . e . , t h e g r e a t e s t c o m m o n d i v i s o r

(N 1, N 2) = 1.

T h e i n t e g e r m a p o f ( 3 . 6 ) i s o n e - t o - o n e i f a n d o n l y i f :

(K 1 = aN 2) a n d / o r (K 2 = bN 1) a n d (K 1, N 1) = (K 2, N 2) = 1 ( 3 . 7 )

w h e r e a a n d b a r e i n t e g e r s .

3 . 1 . 2 C a s e 2 .

N 1 a n d N 2 a r e n o t r e l a t i v e l y p r i m e , i . e . , (N 1, N 2) > 1.

T h e i n t e g e r m a p o f ( 3 . 6 ) i s o n e - t o - o n e i f a n d o n l y i f :

(K 1 = aN 2) a n d (K 2 = bN 1) a n d (a, N 1) = (K 2, N 2) = 1 ( 3 . 8 )

o r

(K 1 = aN 2) a n d (K 2 = bN 1) a n d (K 1, N 1) = (b, N 2) = 1 ( 3 . 9 )

R e f e r e n c e [ 4 6 ] s h o u l d b e c o n s u l t e d f o r t h e d e t a i l s o f t h e s e c o n d i t i o n s a n d e x a m p l e s . T w o

c l a s s e s o f i n d e x m a p s a r e d e n e d f r o m t h e s e c o n d i t i o n s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 15/254

9

3 . 1 . 3 T y p e - O n e I n d e x M a p :

T h e m a p o f ( 3 . 6 ) i s c a l l e d a t y p e - o n e m a p w h e n i n t e g e r s a a n d b e x i s t s u c h t h a t

K 1 = aN 2 a n d K 2 = bN 1 ( 3 . 1 0 )

3 . 1 . 4 T y p e - T w o I n d e x M a p :

T h e m a p o f ( 3 . 6 ) i s c a l l e d a t y p e - t w o m a p w h e n w h e n i n t e g e r s a a n d b e x i s t s u c h t h a t

K 1 = aN 2 o r K 2 = bN 1, b u t n o t b o t h . ( 3 . 1 1 )

T h e t y p e - o n e c a n b e u s e d o n l y i f t h e f a c t o r s o f N a r e r e l a t i v e l y p r i m e , b u t t h e t y p e - t w o

c a n b e u s e d w h e t h e r t h e y a r e r e l a t i v e l y p r i m e o r n o t . G o o d [ 1 4 9 ] , T h o m a s , a n d W i n o g r a d

[ 4 0 4 ] a l l u s e d t h e t y p e - o n e m a p i n t h e i r D F T a l g o r i t h m s . C o o l e y a n d T u k e y [ 8 9 ] u s e d t h e

t y p e - t w o i n t h e i r a l g o r i t h m s , b o t h f o r a x e d r a d i x

N = RM

a n d a m i x e d r a d i x [ 3 0 1 ] .

T h e f r e q u e n c y i n d e x i s d e n e d b y a m a p s i m i l a r t o ( 3 . 6 ) a s

k = ((K 3k1 + K 4k2))N ( 3 . 1 2 )

w h e r e t h e s a m e c o n d i t i o n s , ( 3 . 7 ) a n d ( 3 . 8 ) , a r e u s e d f o r d e t e r m i n i n g t h e u n i q u e n e s s o f t h i s

m a p i n t e r m s o f t h e i n t e g e r s K 3 a n d K 4 .

T w o - d i m e n s i o n a l a r r a y s f o r t h e i n p u t d a t a a n d i t s D F T a r e d e n e d u s i n g t h e s e i n d e x m a p s

t o g i v e

x (n1, n2) = x((K 1n1 + K 2n2))N ( 3 . 1 3 )

X (k1, k2) = X ((K 3k1 + K 4k2))N ( 3 . 1 4 )

I n s o m e o f t h e f o l l o w i n g e q u a t i o n s , t h e r e s i d u e r e d u c t i o n n o t a t i o n w i l l b e o m i t t e d f o r c l a r i t y .

T h e s e c h a n g e s o f v a r i a b l e s a p p l i e d t o t h e d e n i t i o n o f t h e D F T g i v e n i n ( 3 . 1 ) g i v e

C (k) =

N 2−1n2=0

N 1−1n1=0 x (n) W

K 1K 3n1k1

N W

K 1K 4n1k2

N W

K 2K 3n2k1

N W

K 2K 4n2k2

N ( 3 . 1 5 )

w h e r e a l l o f t h e e x p o n e n t s a r e e v a l u a t e d m o d u l o N .

T h e a m o u n t o f a r i t h m e t i c r e q u i r e d t o c a l c u l a t e ( 3 . 1 5 ) i s t h e s a m e a s i n t h e d i r e c t c a l c u l a t i o n

o f ( 3 . 1 ) . H o w e v e r , b e c a u s e o f t h e s p e c i a l n a t u r e o f t h e D F T , t h e i n t e g e r c o n s t a n t s K i c a n b e

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 16/254

1 0

C H A P T E R 3 . M U L T I D I M E N S I O N A L I N D E X M A P P I N G

c h o s e n i n s u c h a w a y t h a t t h e c a l c u l a t i o n s a r e u n c o u p l e d " a n d t h e a r i t h m e t i c i s r e d u c e d .

T h e r e q u i r e m e n t s f o r t h i s a r e

((K 1K 4))N = 0 a n d / o r ((K 2K 3))N = 0 ( 3 . 1 6 )

W h e n t h i s c o n d i t i o n a n d t h o s e f o r u n i q u e n e s s i n ( 3 . 6 ) a r e a p p l i e d , i t i s f o u n d t h a t t h e K im a y a l w a y s b e c h o s e n s u c h t h a t o n e o f t h e t e r m s i n ( 3 . 1 6 ) i s z e r o . I f t h e N i a r e r e l a t i v e l y

p r i m e , i t i s a l w a y s p o s s i b l e t o m a k e b o t h t e r m s z e r o . I f t h e N i a r e n o t r e l a t i v e l y p r i m e , o n l y

o n e o f t h e t e r m s c a n b e s e t t o z e r o . W h e n t h e y a r e r e l a t i v e l y p r i m e , t h e r e i s a c h o i c e , i t i s

p o s s i b l e t o e i t h e r s e t o n e o r b o t h t o z e r o . T h i s i n t u r n c a u s e s o n e o r b o t h o f t h e c e n t e r t w o

W t e r m s i n ( 3 . 1 5 ) t o b e c o m e u n i t y .

A n e x a m p l e o f t h e C o o l e y - T u k e y r a d i x - 4 F F T f o r a l e n g t h - 1 6 D F T u s e s t h e t y p e - t w o m a p

w i t h K 1 = 4, K 2 = 1, K 3 = 1 , K 4 = 4 g i v i n g

n = 4n1 + n2 ( 3 . 1 7 )

k = k1 + 4k2 ( 3 . 1 8 )

T h e r e s i d u e r e d u c t i o n i n ( 3 . 6 ) i s n o t n e e d e d h e r e s i n c e n d o e s n o t e x c e e d N a s n1 a n d n2

t a k e o n t h e i r v a l u e s . S i n c e , i n t h i s e x a m p l e , t h e f a c t o r s o f N h a v e a c o m m o n f a c t o r , o n l y

o n e o f t h e c o n d i t i o n s i n ( 3 . 1 6 ) c a n h o l d a n d , t h e r e f o r e , ( 3 . 1 5 ) b e c o m e s

C (k1, k2) = C (k) =3

n2=03

n1=0x (n) W n1k14 W n2k116 W n2k24 ( 3 . 1 9 )

N o t e t h e d e n i t i o n o f W N i n ( 3 . 3 ) a l l o w s t h e s i m p l e f o r m o f W K 1K 316 = W 4

T h i s h a s t h e f o r m o f a t w o - d i m e n s i o n a l D F T w i t h a n e x t r a t e r m W 16 , c a l l e d a t w i d d l e

f a c t o r " . T h e i n n e r s u m o v e r n1 r e p r e s e n t s f o u r l e n g t h - 4 D F T s , t h e W 16 t e r m r e p r e s e n t s 1 6

c o m p l e x m u l t i p l i c a t i o n s , a n d t h e o u t e r s u m o v e r n2 r e p r e s e n t s a n o t h e r f o u r l e n g t h - 4 D F T s .

T h i s c h o i c e o f t h e K i u n c o u p l e s " t h e c a l c u l a t i o n s s i n c e t h e r s t s u m o v e r n1 f o r n2 = 0

c a l c u l a t e s t h e D F T o f t h e r s t r o w o f t h e d a t a a r r a y

x (n1, n2), a n d t h o s e d a t a v a l u e s a r e

n e v e r n e e d e d i n t h e s u c c e e d i n g r o w c a l c u l a t i o n s . T h e r o w c a l c u l a t i o n s a r e i n d e p e n d e n t , a n d

e x a m i n a t i o n o f t h e o u t e r s u m s h o w s t h a t t h e c o l u m n c a l c u l a t i o n s a r e l i k e w i s e i n d e p e n d e n t .

T h i s i s i l l u s t r a t e d i n F i g u r e 3 . 1 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 17/254

1 1

n1

x(n1,n2)

x(k 1,n

2) x TF

X(k 1,k 2)

n2

n2

k 1

k 1

k 2

F i g u r e 3 . 1 : U n c o u p l i n g o f t h e R o w a n d C o l u m n C a l c u l a t i o n s ( R e c t a n g l e s a r e D a t a

A r r a y s )

T h e l e f t 4 - b y - 4 a r r a y i s t h e m a p p e d i n p u t d a t a , t h e c e n t e r a r r a y h a s t h e r o w s t r a n s f o r m e d ,

a n d t h e r i g h t a r r a y i s t h e D F T a r r a y . T h e r o w D F T s a n d t h e c o l u m n D F T s a r e i n d e p e n d e n t o f

e a c h o t h e r . T h e t w i d d l e f a c t o r s ( T F ) w h i c h a r e t h e c e n t e r W i n ( 3 . 1 9 ) , a r e t h e m u l t i p l i c a t i o n s

w h i c h t a k e p l a c e o n t h e c e n t e r a r r a y o f F i g u r e 3 . 1 .

T h i s u n c o u p l i n g f e a t u r e r e d u c e s t h e a m o u n t o f a r i t h m e t i c r e q u i r e d a n d a l l o w s t h e r e s u l t s o f

e a c h r o w D F T t o b e w r i t t e n b a c k o v e r t h e i n p u t d a t a l o c a t i o n s , s i n c e t h a t i n p u t r o w w i l l

n o t b e n e e d e d a g a i n . T h i s i s c a l l e d i n - p l a c e " c a l c u l a t i o n a n d i t r e s u l t s i n a l a r g e m e m o r y

r e q u i r e m e n t s a v i n g s .

A n e x a m p l e o f t h e t y p e - t w o m a p u s e d w h e n t h e f a c t o r s o f N a r e r e l a t i v e l y p r i m e i s g i v e n

f o r N = 15 a s

n = 5n1 + n2 ( 3 . 2 0 )

k = k1 + 3k2 ( 3 . 2 1 )

T h e r e s i d u e r e d u c t i o n i s a g a i n n o t e x p l i c i t l y n e e d e d . A l t h o u g h t h e f a c t o r s 3 a n d 5 a r e

r e l a t i v e l y p r i m e , u s e o f t h e t y p e - t w o m a p s e t s o n l y o n e o f t h e t e r m s i n ( 3 . 1 6 ) t o z e r o . T h e

D F T i n ( 3 . 1 5 ) b e c o m e s

X =4

n2=0

2n1=0

x W n1k13 W n2k115 W n2k25 ( 3 . 2 2 )

w h i c h h a s t h e s a m e f o r m a s ( 3 . 1 9 ) , i n c l u d i n g t h e e x i s t e n c e o f t h e t w i d d l e f a c t o r s ( T F ) . H e r e

t h e i n n e r s u m i s v e l e n g t h - 3 D F T s , o n e f o r e a c h v a l u e o f k1 . T h i s i s i l l u s t r a t e d i n ( 3 . 2 )

w h e r e t h e r e c t a n g l e s a r e t h e 5 b y 3 d a t a a r r a y s a n d t h e s y s t e m i s c a l l e d a m i x e d r a d i x "

F F T .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 18/254

1 2

C H A P T E R 3 . M U L T I D I M E N S I O N A L I N D E X M A P P I N G

n1

x(n1,n

2)

x(k 1,n

2)

X(k 1,k

2)

n2

n2

k 1

k 1

k 2

F i g u r e 3 . 2 : U n c o u p l i n g o f t h e R o w a n d C o l u m n C a l c u l a t i o n s ( R e c t a n g l e s a r e D a t a

A r r a y s )

A n a l t e r n a t e i l l u s t r a t i o n i s s h o w n i n F i g u r e 3 . 3 w h e r e t h e r e c t a n g l e s a r e t h e s h o r t l e n g t h 3

a n d 5 D F T s .

F i g u r e 3 . 3 : U n c o u p l i n g o f t h e R o w a n d C o l u m n C a l c u l a t i o n s ( R e c t a n g l e s a r e S h o r t

D F T s )

T h e t y p e - o n e m a p i s i l l u s t r a t e d n e x t o n t h e s a m e l e n g t h - 1 5 e x a m p l e . T h i s t i m e t h e s i t u a t i o n

o f ( 3 . 7 ) w i t h t h e a n d " c o n d i t i o n i s u s e d i n ( 3 . 1 0 ) u s i n g a n i n d e x m a p o f

n = 5n1 + 3n2 ( 3 . 2 3 )

a n d

k = 10k1 + 6k2 ( 3 . 2 4 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 19/254

1 3

T h e r e s i d u e r e d u c t i o n i s n o w n e c e s s a r y . S i n c e t h e f a c t o r s o f N a r e r e l a t i v e l y p r i m e a n d t h e

t y p e - o n e m a p i s b e i n g u s e d , b o t h t e r m s i n ( 3 . 1 6 ) a r e z e r o , a n d ( 3 . 1 5 ) b e c o m e s

X =4

n2=0

2n1=0

x W n1k13 W n2k25 ( 3 . 2 5 )

w h i c h i s s i m i l a r t o ( 3 . 2 2 ) , e x c e p t t h a t n o w t h e t y p e - o n e m a p g i v e s a p u r e t w o - d i m e n s i o n a l

D F T c a l c u l a t i o n w i t h n o T F s , a n d t h e s u m s c a n b e d o n e i n e i t h e r o r d e r . F i g u r e s F i g u r e 3 . 2

a n d F i g u r e 3 . 3 a l s o d e s c r i b e t h i s c a s e b u t n o w t h e r e a r e n o T w i d d l e F a c t o r m u l t i p l i c a t i o n s

i n t h e c e n t e r a n d t h e r e s u l t i n g s y s t e m i s c a l l e d a p r i m e f a c t o r a l g o r i t h m " ( P F A ) .

T h e p u r p o s e o f i n d e x m a p p i n g i s t o i m p r o v e t h e a r i t h m e t i c e c i e n c y . F o r e x a m p l e a d i r e c t

c a l c u l a t i o n o f a l e n g t h - 1 6 D F T r e q u i r e s 1 6 ^ 2 o r 2 5 6 r e a l m u l t i p l i c a t i o n s ( r e c a l l , o n e c o m p l e x

m u l t i p l i c a t i o n r e q u i r e s 4 r e a l m u l t i p l i c a t i o n s a n d 2 r e a l a d d i t i o n s ) a n d a n u n c o u p l e d v e r s i o n

r e q u i r e s 1 4 4 . A d i r e c t c a l c u l a t i o n o f a l e n g t h - 1 5 D F T r e q u i r e s 2 2 5 m u l t i p l i c a t i o n s b u t w i t h

a t y p e - t w o m a p o n l y 1 3 5 a n d w i t h a t y p e - o n e m a p , 1 2 0 . R e c a l l o n e c o m p l e x m u l t i p l i c a t i o n

r e q u i r e s f o u r r e a l m u l t i p l i c a t i o n s a n d t w o r e a l a d d i t i o n s .

A l g o r i t h m s o f p r a c t i c a l i n t e r e s t u s e s h o r t D F T ' s t h a t r e q u i r e f e w e r t h a n N 2 m u l t i p l i c a t i o n s .

F o r e x a m p l e , l e n g t h - 4 D F T s r e q u i r e n o m u l t i p l i c a t i o n s a n d , t h e r e f o r e , f o r t h e l e n g t h - 1 6 D F T ,

o n l y t h e T F s m u s t b e c a l c u l a t e d . T h a t c a l c u l a t i o n u s e s 1 6 m u l t i p l i c a t i o n s , m a n y f e w e r t h a n

t h e 2 5 6 o r 1 4 4 r e q u i r e d f o r t h e d i r e c t o r u n c o u p l e d c a l c u l a t i o n .

T h e c o n c e p t o f u s i n g a n i n d e x m a p c a n a l s o b e a p p l i e d t o c o n v o l u t i o n t o c o n v e r t a l e n g t h N =N 1N 2 o n e - d i m e n s i o n a l c y c l i c c o n v o l u t i o n i n t o a N 1 b y N 2 t w o - d i m e n s i o n a l c y c l i c c o n v o l u t i o n

[ 4 6 ] , [ 6 ] . T h e r e i s n o s a v i n g s o f a r i t h m e t i c f r o m t h e m a p p i n g a l o n e a s t h e r e i s w i t h t h e D F T ,

b u t s a v i n g s c a n b e o b t a i n e d b y u s i n g s p e c i a l s h o r t a l g o r i t h m s a l o n g e a c h d i m e n s i o n . T h i s i s

d i s c u s s e d i n A l g o r i t h m s f o r D a t a w i t h R e s t r i c t i o n s ( C h a p t e r 1 2 ) .

3 . 2 I n - P l a c e C a l c u l a t i o n o f t h e D F T a n d S c r a m b l i n g

B e c a u s e u s e o f b o t h t h e t y p e - o n e a n d t w o i n d e x m a p s u n c o u p l e s t h e c a l c u l a t i o n s o f t h e

r o w s a n d c o l u m n s o f t h e d a t a a r r a y , t h e r e s u l t s o f e a c h s h o r t l e n g t h N i D F T c a n b e w r i t t e n

b a c k o v e r t h e d a t a a s i t w i l l n o t b e n e e d e d a g a i n a f t e r t h a t p a r t i c u l a r r o w o r c o l u m n i s

t r a n s f o r m e d . T h i s i s e a s i l y s e e n f r o m F i g u r e s F i g u r e 3 . 1 , F i g u r e 3 . 2 , a n d F i g u r e 3 . 3 w h e r e

t h e D F T o f t h e r s t r o w o f

x (n1, n2)c a n b e p u t b a c k o v e r t h e d a t a r a t h e r w r i t t e n i n t o a n e w

a r r a y . A f t e r a l l t h e c a l c u l a t i o n s a r e n i s h e d , t h e t o t a l D F T i s i n t h e a r r a y o f t h e o r i g i n a l

d a t a . T h i s g i v e s a s i g n i c a n t m e m o r y s a v i n g s o v e r u s i n g a s e p a r a t e a r r a y f o r t h e o u t p u t .

U n f o r t u n a t e l y , t h e u s e o f i n - p l a c e c a l c u l a t i o n s r e s u l t s i n t h e o r d e r o f t h e D F T v a l u e s b e i n g

p e r m u t e d o r s c r a m b l e d . T h i s i s b e c a u s e t h e d a t a i s i n d e x e d a c c o r d i n g t o t h e i n p u t m a p

( 3 . 6 ) a n d t h e r e s u l t s a r e p u t i n t o t h e s a m e l o c a t i o n s r a t h e r t h a n t h e l o c a t i o n s d i c t a t e d b y

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 20/254

1 4

C H A P T E R 3 . M U L T I D I M E N S I O N A L I N D E X M A P P I N G

t h e o u t p u t m a p ( 3 . 1 2 ) . F o r e x a m p l e w i t h a l e n g t h - 8 r a d i x - 2 F F T , t h e i n p u t i n d e x m a p i s

n = 4n1 + 2n2 + n3 ( 3 . 2 6 )

w h i c h t o s a t i s f y ( 3 . 1 6 ) r e q u i r e s a n o u t p u t m a p o f

k = k1 + 2k2 + 4k3 ( 3 . 2 7 )

T h e i n - p l a c e c a l c u l a t i o n s w i l l p l a c e t h e D F T r e s u l t s i n t h e l o c a t i o n s o f t h e i n p u t m a p

a n d t h e s e s h o u l d b e r e o r d e r e d o r u n s c r a m b l e d i n t o t h e l o c a t i o n s g i v e n b y t h e o u t p u t m a p .

E x a m i n a t i o n o f t h e s e t w o m a p s s h o w s t h e s c r a m b l e d o u t p u t t o b e i n a b i t r e v e r s e d " o r d e r .

F o r c e r t a i n a p p l i c a t i o n s , t h i s s c r a m b l e d o u t p u t o r d e r i s n o t i m p o r t a n t , b u t f o r m a n y a p p l i c a -

t i o n s , t h e o r d e r m u s t b e u n s c r a m b l e d b e f o r e t h e D F T c a n b e c o n s i d e r e d c o m p l e t e . B e c a u s e

t h e r a d i x o f t h e r a d i x - 2 F F T i s t h e s a m e a s t h e b a s e o f t h e b i n a r y n u m b e r r e p r e s e n t a t i o n , t h e

c o r r e c t a d d r e s s f o r a n y t e r m i s f o u n d b y r e v e r s i n g t h e b i n a r y b i t s o f t h e a d d r e s s . T h e p a r t

o f m o s t F F T p r o g r a m s t h a t d o e s t h i s r e o r d e r i n g i s c a l l e d a b i t - r e v e r s e d c o u n t e r . E x a m p l e s

o f v a r i o u s u n s c r a m b l e r s a r e f o u n d i n [ 1 4 6 ] , [ 6 0 ] a n d i n t h e a p p e n d i c e s .

T h e d e v e l o p m e n t h e r e u s e s t h e i n p u t m a p a n d t h e r e s u l t i n g a l g o r i t h m i s c a l l e d d e c i m a t i o n -

i n - f r e q u e n c y " . I f t h e o u t p u t r a t h e r t h a n t h e i n p u t m a p i s u s e d t o d e r i v e t h e F F T a l g o r i t h m

s o t h e c o r r e c t o u t p u t o r d e r i s o b t a i n e d , t h e i n p u t o r d e r m u s t b e s c r a m b l e d s o t h a t i t s v a l u e s

a r e i n l o c a t i o n s s p e c i e d b y t h e o u t p u t m a p r a t h e r t h a n t h e i n p u t m a p . T h i s a l g o r i t h m

i s c a l l e d d e c i m a t i o n - i n - t i m e " . T h e s c r a m b l i n g i s t h e s a m e b i t - r e v e r s e c o u n t i n g a s b e f o r e ,

b u t i t p r e c e d e s t h e F F T a l g o r i t h m i n t h i s c a s e . T h e s a m e p r o c e s s o f a p o s t - u n s c r a m b l e r o r

p r e - s c r a m b l e r o c c u r s f o r t h e i n - p l a c e c a l c u l a t i o n s w i t h t h e t y p e - o n e m a p s . D e t a i l s c a n b e

f o u n d i n [ 6 0 ] , [ 5 6 ] . I t i s p o s s i b l e t o d o t h e u n s c r a m b l i n g w h i l e c a l c u l a t i n g t h e F F T a n d t o

a v o i d a s e p a r a t e u n s c r a m b l e r . T h i s i s d o n e f o r t h e C o o l e y - T u k e y F F T i n [ 1 9 2 ] a n d f o r t h e

P F A i n [ 6 0 ] , [ 5 6 ] , [ 3 1 9 ] .

I f a r a d i x - 2 F F T i s u s e d , t h e u n s c r a m b l e r i s a b i t - r e v e r s e d c o u n t e r . I f a r a d i x - 4 F F T i s u s e d ,

t h e u n s c r a m b l e r i s a b a s e - 4 r e v e r s e d c o u n t e r , a n d s i m i l a r l y f o r r a d i x - 8 a n d o t h e r s . H o w e v e r ,

i f f o r t h e r a d i x - 4 F F T , t h e s h o r t l e n g t h - 4 D F T s ( b u t t e r i e s ) h a v e t h e i r o u t p u t s i n b i t - r e v e r e d

o r d e r , t h e o u t p u t o f t h e t o t a l r a d i x - 4 F F T w i l l b e i n b i t - r e v e r s e d o r d e r , n o t b a s e - 4 r e v e r s e d

o r d e r . T h i s m e a n s a n y r a d i x - 2nF F T c a n u s e t h e s a m e r a d i x - 2 b i t - r e v e r s e d c o u n t e r a s a n

u n s c r a m b l e r i f t h e p r o p e r b u t t e r i e s a r e u s e d .

3 . 3 E c i e n c i e s R e s u l t i n g f r o m I n d e x M a p p i n g w i t h t h e

D F T

I n t h i s s e c t i o n t h e r e d u c t i o n s i n a r i t h m e t i c i n t h e D F T t h a t r e s u l t f r o m t h e i n d e x m a p p i n g

a l o n e w i l l b e e x a m i n e d . I n p r a c t i c a l a l g o r i t h m s s e v e r a l m e t h o d s a r e a l w a y s c o m b i n e d , b u t

i t i s h e l p f u l i n u n d e r s t a n d i n g t h e e e c t s o f a p a r t i c u l a r m e t h o d t o s t u d y i t a l o n e .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 21/254

1 5

T h e m o s t g e n e r a l f o r m o f a n u n c o u p l e d t w o - d i m e n s i o n a l D F T i s g i v e n b y

X (k1, k2) =

N 2−1n2=0

N 1−1n1=0

x (n1, n2) f 1 (n1, n2, k1) f 2 (n2, k1, k2)( 3 . 2 8 )

w h e r e t h e i n n e r s u m c a l c u l a t e s N 2 l e n g t h - N 1 D F T ' s a n d , i f f o r a t y p e - t w o m a p , t h e e e c t s

o f t h e T F s . I f t h e n u m b e r o f a r i t h m e t i c o p e r a t i o n s f o r a l e n g t h - N D F T i s d e n o t e d b y F (N ) ,

t h e n u m b e r o f o p e r a t i o n s f o r t h i s i n n e r s u m i s F = N 2F (N 1). T h e o u t e r s u m w h i c h g i v e s N 1l e n g t h - N 2 D F T ' s r e q u i r e s N 1F (N 2) o p e r a t i o n s . T h e t o t a l n u m b e r o f a r i t h m e t i c o p e r a t i o n s

i s t h e n

F = N 2F (N 1) + N 1F (N 2) ( 3 . 2 9 )

T h e r s t q u e s t i o n t o b e c o n s i d e r e d i s f o r a x e d l e n g t h N , w h a t i s t h e o p t i m a l r e l a t i o n o f

N 1a n d

N 2i n t h e s e n s e o f m i n i m i z i n g t h e r e q u i r e d a m o u n t o f a r i t h m e t i c . T o a n s w e r t h i s

q u e s t i o n , N 1 a n d N 2 a r e t e m p o r a r i l y a s s u m e d t o b e r e a l v a r i a b l e s r a t h e r t h a n i n t e g e r s . I f

t h e s h o r t l e n g t h - N i D F T ' s i n ( 3 . 2 8 ) a n d a n y T F m u l t i p l i c a t i o n s a r e a s s u m e d t o r e q u i r e N 2io p e r a t i o n s , i . e . F (N i) = N 2i , " E c i e n c i e s R e s u l t i n g f r o m I n d e x M a p p i n g w i t h t h e D F T "

( S e c t i o n 3 . 3 : E c i e n c i e s R e s u l t i n g f r o m I n d e x M a p p i n g w i t h t h e D F T ) b e c o m e s

F = N 2N 21 + N 1N 22 = N (N 1 + N 2) = N

N 1 + N N −11

( 3 . 3 0 )

T o n d t h e m i n i m u m o f F o v e r N 1 , t h e d e r i v a t i v e o f F w i t h r e s p e c t t o N 1 i s s e t t o z e r o

( t e m p o r a r i l y a s s u m i n g t h e v a r i a b l e s t o b e c o n t i n u o u s ) a n d t h e r e s u l t r e q u i r e s N 1 = N 2 .

dF/dN 1 = 0 => N 1 = N 2( 3 . 3 1 )

T h i s r e s u l t i s a l s o e a s i l y s e e n f r o m t h e s y m m e t r y o f N 1 a n d N 2 i n N = N 1N 2 . I f a m o r e

g e n e r a l m o d e l o f t h e a r i t h m e t i c c o m p l e x i t y o f t h e s h o r t D F T ' s i s u s e d , t h e s a m e r e s u l t

i s o b t a i n e d , b u t a c l o s e r e x a m i n a t i o n m u s t b e m a d e t o a s s u r e t h a t N 1 = N 2 i s a g l o b a l

m i n i m u m .

I f o n l y t h e e e c t s o f t h e i n d e x m a p p i n g a r e t o b e c o n s i d e r e d , t h e n t h e F (N ) = N 2 m o d e l i s

u s e d a n d ( 3 . 3 1 ) s t a t e s t h a t t h e t w o f a c t o r s s h o u l d b e e q u a l . I f t h e r e a r e M f a c t o r s , a s i m i l a r

r e a s o n i n g s h o w s t h a t a l l M f a c t o r s s h o u l d b e e q u a l . F o r t h e s e q u e n c e o f l e n g t h

N = RM ( 3 . 3 2 )

t h e r e a r e n o w M l e n g t h - R D F T ' s a n d , s i n c e t h e f a c t o r s a r e a l l e q u a l , t h e i n d e x m a p m u s t

b e t y p e t w o . T h i s m e a n s t h e r e m u s t b e t w i d d l e f a c t o r s .

I n o r d e r t o s i m p l i f y t h e a n a l y s i s , o n l y t h e n u m b e r o f m u l t i p l i c a t i o n s w i l l b e c o n s i d e r e d . I f

t h e n u m b e r o f m u l t i p l i c a t i o n s f o r a l e n g t h - R D F T i s F (R) , t h e n t h e f o r m u l a f o r o p e r a t i o n

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 22/254

1 6

C H A P T E R 3 . M U L T I D I M E N S I O N A L I N D E X M A P P I N G

c o u n t s i n ( 3 . 3 0 ) g e n e r a l i z e s t o

F = N

M i=1

F (N i) /N i = NMF (R) /R( 3 . 3 3 )

f o r N i = R

F = NlnR (N ) F (R) /R = (NlnN ) (F (R) / (RlnR)) ( 3 . 3 4 )

T h i s i s a v e r y i m p o r t a n t f o r m u l a w h i c h w a s d e r i v e d b y C o o l e y a n d T u k e y i n t h e i r f a m o u s

p a p e r [ 8 9 ] o n t h e F F T . I t s t a t e s t h a t f o r a g i v e n R w h i c h i s c a l l e d t h e r a d i x , t h e n u m b e r o f

m u l t i p l i c a t i o n s ( a n d a d d i t i o n s ) i s p r o p o r t i o n a l t o NlnN . I t a l s o s h o w s t h e r e l a t i o n t o t h e

v a l u e o f t h e r a d i x , R .

I n o r d e r t o g e t s o m e i d e a o f t h e b e s t " r a d i x , t h e n u m b e r o f m u l t i p l i c a t i o n s t o c o m p u t e a

l e n g t h - R D F T i s a s s u m e d t o b e F (R) = Rx. I f t h i s i s u s e d w i t h ( 3 . 3 4 ) , t h e o p t i m a l R c a n

b e f o u n d .

dF/dR = 0 => R = e1/(x−1) ( 3 . 3 5 )

F o r x = 2 t h i s g i v e s R = e, w i t h t h e c l o s e s t i n t e g e r b e i n g t h r e e .

T h e r e s u l t o f t h i s a n a l y s i s s t a t e s t h a t i f n o o t h e r a r i t h m e t i c s a v i n g m e t h o d s o t h e r t h a n i n d e x

m a p p i n g a r e u s e d , a n d i f t h e l e n g t h - R D F T ' s p l u s T F s r e q u i r e F = R2m u l t i p l i c a t i o n s , t h e

o p t i m a l a l g o r i t h m r e q u i r e s

F = 3Nlog3N ( 3 . 3 6 )

m u l t i p l i c a t i o n s f o r a l e n g t h N = 3M D F T . C o m p a r e t h i s w i t h N 2 f o r a d i r e c t c a l c u l a t i o n

a n d t h e i m p r o v e m e n t i s o b v i o u s .

W h i l e t h i s i s a n i n t e r e s t i n g r e s u l t f r o m t h e a n a l y s i s o f t h e e e c t s o f i n d e x m a p p i n g a l o n e , i n

p r a c t i c e , i n d e x m a p p i n g i s a l m o s t a l w a y s u s e d i n c o n j u n c t i o n w i t h s p e c i a l a l g o r i t h m s f o r t h e

s h o r t l e n g t h - N i D F T ' s i n ( 3 . 1 5 ) . F o r e x a m p l e , i f R = 2 o r 4 , t h e r e a r e n o m u l t i p l i c a t i o n s

r e q u i r e d f o r t h e s h o r t D F T ' s . O n l y t h e T F s r e q u i r e m u l t i p l i c a t i o n s . W i n o g r a d ( s e e W i n o r a d ' s

S h o r t D F T A l g o r i t h m s ( C h a p t e r 7 ) ) h a s d e r i v e d s o m e a l g o r i t h m s f o r s h o r t D F T ' s t h a t

r e q u i r e O (N ) m u l t i p l i c a t i o n s . T h i s m e a n s t h a t F (N i) = KN i a n d t h e o p e r a t i o n c o u n t

F i n " E c i e n c i e s R e s u l t i n g f r o m I n d e x M a p p i n g w i t h t h e D F T " ( S e c t i o n 3 . 3 : E c i e n c i e s

R e s u l t i n g f r o m I n d e x M a p p i n g w i t h t h e D F T ) i s i n d e p e n d e n t o f N i . T h e r e f o r e , t h e d e r i v a t i v e

o f F i s z e r o f o r a l l N i . O b v i o u s l y , t h e s e p a r t i c u l a r c a s e s m u s t b e e x a m i n e d .

3 . 4 T h e F F T a s a R e c u r s i v e E v a l u a t i o n o f t h e D F T

I t i s p o s s i b l e t o f o r m u l a t e t h e D F T s o a l e n g t h - N D F T c a n b e c a l c u l a t e d i n t e r m s o f t w o

l e n g t h - ( N / 2 ) D F T s . A n d , i f N = 2M , e a c h o f t h o s e l e n g t h - ( N / 2 ) D F T s c a n b e f o u n d i n

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 23/254

1 7

t e r m s o f l e n g t h - ( N / 4 ) D F T s . T h i s a l l o w s t h e D F T t o b e c a l c u l a t e d b y a r e c u r s i v e a l g o r i t h m

w i t h M r e c u r s i o n s , g i v i n g t h e f a m i l i a r o r d e r Nlog (N ) a r i t h m e t i c c o m p l e x i t y .

C a l c u l a t e t h e e v e n i n d e x e d D F T v a l u e s f r o m ( 3 . 1 ) b y :

C (2k) =N −1n=0

x (n) W 2nkN =N −1n=0

x (n) W nkN/2 ( 3 . 3 7 )

C (2k) =

N/2−1n=0

x (n) W 2nkN +N −1

n=N/2

x (n) W nkN/2 ( 3 . 3 8 )

C (2k) =

N/2−1

n=0x (n) + x (n + N/2) W nkN/2 ( 3 . 3 9 )

a n d a s i m i l a r a r g u m e n t g i v e s t h e o d d i n d e x e d v a l u e s a s :

C (2k + 1) =

N/2−1n=0

x (n) − x (n + N/2) W nN W nkN/2 ( 3 . 4 0 )

T o g e t h e r , t h e s e a r e r e c u r s i v e D F T f o r m u l a s e x p r e s s i n g t h e l e n g t h - N D F T o f x (n) i n t e r m s

o f l e n g t h - N / 2 D F T s :

C (2k) = D F T N/2x (n) + x (n + N/2) ( 3 . 4 1 )

C (2k + 1) = D F T N/2[x (n) − x (n + N/2)] W nN ( 3 . 4 2 )

T h i s i s a d e c i m a t i o n - i n - f r e q u e n c y " ( D I F ) v e r s i o n s i n c e i t g i v e s s a m p l e s o f t h e f r e q u e n c y

d o m a i n r e p r e s e n t a t i o n i n t e r m s o f b l o c k s o f t h e t i m e d o m a i n s i g n a l .

A r e c u r s i v e M a t l a b p r o g r a m w h i c h i m p l e m e n t s t h i s i s g i v e n b y :

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 24/254

1 8

C H A P T E R 3 . M U L T I D I M E N S I O N A L I N D E X M A P P I N G

f u n c t i o n c = d f t r 2 ( x )

% R e c u r s i v e D e c i m a t i o n - i n - F r e q u e n c y F F T a l g o r i t h m , c s b 8 / 2 1 / 0 7

L = l e n g t h ( x ) ;

i f L > 1

L 2 = L / 2 ;

T F = e x p ( - j * 2 * p i / L ) . ^ [ 0 : L 2 - 1 ] ;

c 1 = d f t r 2 ( x ( 1 : L 2 ) + x ( L 2 + 1 : L ) ) ;

c 2 = d f t r 2 ( ( x ( 1 : L 2 ) - x ( L 2 + 1 : L ) ) . * T F ) ;

c c = [ c 1 ' ; c 2 ' ] ;

c = c c ( : ) ;

e l s e

c = x ;

e n d

L i s t i n g 3 . 1 : D I F R e c u r s i v e F F T f o r N = 2M

A D I T v e r s i o n c a n b e d e r i v e d i n t h e f o r m :

C (k) = D F T N/2x (2n) + W kN D F T N/2x (2n + 1) ( 3 . 4 3 )

C (k + N/2) = D F T N/2x (2n) − W kN D F T N/2x (2n + 1) ( 3 . 4 4 )

w h i c h g i v e s b l o c k s o f t h e f r e q u e n c y d o m a i n f r o m s a m p l e s o f t h e s i g n a l .

A r e c u r s i v e M a t l a b p r o g r a m w h i c h i m p l e m e n t s t h i s i s g i v e n b y :

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 25/254

1 9

f u n c t i o n c = d f t r ( x )

% R e c u r s i v e D e c i m a t i o n - i n - T i m e F F T a l g o r i t h m , c s b

L = l e n g t h ( x ) ;

i f L > 1

L 2 = L / 2 ;

c e = d f t r ( x ( 1 : 2 : L - 1 ) ) ;

c o = d f t r ( x ( 2 : 2 : L ) ) ;

T F = e x p ( - j * 2 * p i / L ) . ^ [ 0 : L 2 - 1 ] ;

c 1 = T F . * c o ;

c = [ ( c e + c 1 ) , ( c e - c 1 ) ] ;

e l s e

c = x ;

e n d

L i s t i n g 3 . 2 : D I T R e c u r s i v e F F T f o r N = 2M

S i m i l a r r e c u r s i v e e x p r e s s i o n s c a n b e d e v e l o p e d f o r o t h e r r a d i c e s a n d a n d a l g o r i t h m s . M o s t

r e c u r s i v e p r o g r a m s d o n o t e x e c u t e a s e c i e n t l y a s l o o p e d o r s t r a i g h t c o d e , b u t s o m e c a n b e

v e r y e c i e n t , e . g . p a r t s o f t h e F F T W .

N o t e a l e n g t h - 2M s e q u e n c e w i l l r e q u i r e M r e c u r s i o n s , e a c h o f w h i c h w i l l r e q u i r e N/2 m u l t i -

p l i c a t i o n s . T h i s g i v e t h e Nlog (N ) f o r m u l a t h a t t h e o t h e r a p p r o a c h e s a l s o d e r i v e .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 26/254

2 0

C H A P T E R 3 . M U L T I D I M E N S I O N A L I N D E X M A P P I N G

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 27/254

C h a p t e r 4

P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s

1

P o l y n o m i a l s a r e i m p o r t a n t i n d i g i t a l s i g n a l p r o c e s s i n g b e c a u s e c a l c u l a t i n g t h e D F T c a n b e

v i e w e d a s a p o l y n o m i a l e v a l u a t i o n p r o b l e m a n d c o n v o l u t i o n c a n b e v i e w e d a s p o l y n o m i a l

m u l t i p l i c a t i o n [ 2 7 ] , [ 2 6 1 ] . I n d e e d , t h i s i s t h e b a s i s f o r t h e i m p o r t a n t r e s u l t s o f W i n o g r a d

d i s c u s s e d i n W i n o g r a d ' s S h o r t D F T A l g o r i t h m s ( C h a p t e r 7 ) . A l e n g t h - N s i g n a l x (n) w i l l

b e r e p r e s e n t e d b y a n N − 1 d e g r e e p o l y n o m i a l X (s) d e n e d b y

X (s) =N −1n=0

x (n) sn( 4 . 1 )

T h i s p o l y n o m i a l X (s) i s a s i n g l e e n t i t y w i t h t h e c o e c i e n t s b e i n g t h e v a l u e s o f x (n). I t

i s s o m e w h a t s i m i l a r t o t h e u s e o f m a t r i x o r v e c t o r n o t a t i o n t o e c i e n t l y r e p r e s e n t s i g n a l s

w h i c h a l l o w s u s e o f n e w m a t h e m a t i c a l t o o l s .

T h e c o n v o l u t i o n o f t w o n i t e l e n g t h s e q u e n c e s , x (n) a n d h (n) , g i v e s a n o u t p u t s e q u e n c e

d e n e d b y

y (n) =N −1k=0

x (k) h (n − k) ( 4 . 2 )

n = 0, 1, 2, · · · , 2N − 1 w h e r e h (k) = 0 f o r k < 0. T h i s i s e x a c t l y t h e s a m e o p e r a t i o n a s

c a l c u l a t i n g t h e c o e c i e n t s w h e n m u l t i p l y i n g t w o p o l y n o m i a l s . E q u a t i o n ( 4 . 2 ) i s t h e s a m e a s

Y (s) = X (s) H (s) ( 4 . 3 )

I n f a c t , c o n v o l u t i o n o f n u m b e r s e q u e n c e s , m u l t i p l i c a t i o n o f p o l y n o m i a l s , a n d t h e m u l t i p l i -

c a t i o n o f i n t e g e r s ( e x c e p t f o r t h e c a r r y o p e r a t i o n ) a r e a l l t h e s a m e o p e r a t i o n s . T o o b t a i n

c y c l i c c o n v o l u t i o n , w h e r e t h e i n d i c e s i n ( 4 . 2 ) a r e a l l e v a l u a t e d m o d u l o N , t h e p o l y n o m i a l

m u l t i p l i c a t i o n i n ( 4 . 3 ) i s d o n e m o d u l o t h e p o l y n o m i a l P (s) = sN − 1. T h i s i s s e e n b y n o t i n g

t h a t N = 0 m o d N , t h e r e f o r e , sN = 1 a n d t h e p o l y n o m i a l m o d u l u s i s sN − 1.

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 7 / 1 . 8 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

2 1

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 28/254

2 2

C H A P T E R 4 . P O L Y N O M I A L D E S C R I P T I O N O F S I G N A L S

4 . 1 P o l y n o m i a l R e d u c t i o n a n d t h e C h i n e s e R e m a i n d e r

T h e o r e m

R e s i d u e r e d u c t i o n o f o n e p o l y n o m i a l m o d u l o a n o t h e r i s d e n e d s i m i l a r l y t o r e s i d u e r e d u c t i o n

f o r i n t e g e r s . A p o l y n o m i a l F (s) h a s a r e s i d u e p o l y n o m i a l R (s) m o d u l o P (s ) i f , f o r a g i v e n

F (s) a n d P (s) , a Q (S ) a n d R (s) e x i s t s u c h t h a t

F (s) = Q (s) P (s) + R (s) ( 4 . 4 )

w i t h degreeR (s) < degreeP (s). T h e n o t a t i o n t h a t w i l l b e u s e d i s

R (s) = ((F (s)))P (s) ( 4 . 5 )

F o r e x a m p l e ,

(s + 1) =

s4 + s3 − s − 1

(s2−1) ( 4 . 6 )

T h e c o n c e p t s o f f a c t o r i n g a p o l y n o m i a l a n d o f p r i m e n e s s a r e a n e x t e n s i o n o f t h e s e i d e a s

f o r i n t e g e r s . F o r a g i v e n a l l o w e d s e t o f c o e c i e n t s ( v a l u e s o f x (n) ) , a n y p o l y n o m i a l h a s a

u n i q u e f a c t o r e d r e p r e s e n t a t i o n

F (s) =M i=1

F i(s)ki ( 4 . 7 )

w h e r e t h e F i (s) a r e r e l a t i v e l y p r i m e . T h i s i s a n a l o g o u s t o t h e f u n d a m e n t a l t h e o r e m o f

a r i t h m e t i c .

T h e r e i s a v e r y u s e f u l o p e r a t i o n t h a t i s a n e x t e n s i o n o f t h e i n t e g e r C h i n e s e R e m a i n d e r

T h e o r e m ( C R T ) w h i c h s a y s t h a t i f t h e m o d u l u s p o l y n o m i a l c a n b e f a c t o r e d i n t o r e l a t i v e l y

p r i m e f a c t o r s

P (s) = P 1 (s) P 2 (s) ( 4 . 8 )

t h e n t h e r e e x i s t t w o p o l y n o m i a l s , K 1 (s) a n d K 2 (s), s u c h t h a t a n y p o l y n o m i a l F (s) c a n b e

r e c o v e r e d f r o m i t s r e s i d u e s b y

F (s) = K 1 (s) F 1 (s) + K 2 (s) F 2 (s) m o d P (s) ( 4 . 9 )

w h e r e F 1 a n d F 2 a r e t h e r e s i d u e s g i v e n b y

F 1 (s) = ((F (s)))P 1(s) ( 4 . 1 0 )

a n d

F 2 (s) = ((F (s)))P 2(s) ( 4 . 1 1 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 29/254

2 3

i f t h e o r d e r o f F (s) i s l e s s t h a n P (s) . T h i s g e n e r a l i z e s t o a n y n u m b e r o f r e l a t i v e l y p r i m e

f a c t o r s o f P (s) a n d c a n b e v i e w e d a s a m e a n s o f r e p r e s e n t i n g F (s) b y s e v e r a l l o w e r d e g r e e

p o l y n o m i a l s , F i (s) .

T h i s d e c o m p o s i t i o n o f F (s) i n t o l o w e r d e g r e e p o l y n o m i a l s i s t h e p r o c e s s u s e d t o b r e a k a

D F T o r c o n v o l u t i o n i n t o s e v e r a l s i m p l e p r o b l e m s w h i c h a r e s o l v e d a n d t h e n r e c o m b i n e d u s i n g

t h e C R T o f ( 4 . 9 ) . T h i s i s a n o t h e r f o r m o f t h e d i v i d e a n d c o n q u e r " o r o r g a n i z e a n d s h a r e "

a p p r o a c h s i m i l a r t o t h e i n d e x m a p p i n g s i n M u l t i d i m e n s i o n a l I n d e x M a p p i n g ( C h a p t e r 3 ) .

O n e u s e f u l p r o p e r t y o f t h e C R T i s f o r c o n v o l u t i o n . I f c y c l i c c o n v o l u t i o n o f x (n) a n d h (n) i s

e x p r e s s e d i n t e r m s o f p o l y n o m i a l s b y

Y (s) = H (s) X (s) m o d P (s) ( 4 . 1 2 )

w h e r e P (s) = sN

−1, a n d i f P (s) i s f a c t o r e d i n t o t w o r e l a t i v e l y p r i m e f a c t o r s P = P 1P 2 ,

u s i n g r e s i d u e r e d u c t i o n o f H (s) a n d X (s) m o d u l o P 1 a n d P 2 , t h e l o w e r d e g r e e r e s i d u e

p o l y n o m i a l s c a n b e m u l t i p l i e d a n d t h e r e s u l t s r e c o m b i n e d w i t h t h e C R T . T h i s i s d o n e b y

Y (s) = ((K 1H 1X 1 + K 2H 2X 2))P ( 4 . 1 3 )

w h e r e

H 1 = ((H ))P 1, X 1 = ((X ))P 1, H 2 = ((H ))P 2 , X 2 = ((X ))P 2 ( 4 . 1 4 )

a n d K 1 a n d K 2 a r e t h e C R T c o e c i e n t p o l y n o m i a l s f r o m ( 4 . 9 ) . T h i s a l l o w s t w o s h o r t e r

c o n v o l u t i o n s t o r e p l a c e o n e l o n g e r o n e .

A n o t h e r p r o p e r t y o f r e s i d u e r e d u c t i o n t h a t i s u s e f u l i n D F T c a l c u l a t i o n i s p o l y n o m i a l e v a l -

u a t i o n . T o e v a l u a t e F (s) a t s = x, F (s) i s r e d u c e d m o d u l o s − x.

F (x) = ((F (s)))s−x ( 4 . 1 5 )

T h i s i s e a s i l y s e e n f r o m t h e d e n i t i o n i n ( 4 . 4 )

F (s) = Q (s) (s − x) + R (s) ( 4 . 1 6 )

E v a l u a t i n g s = x g i v e s R (s) = F (x) w h i c h i s a c o n s t a n t . F o r t h e D F T t h i s b e c o m e s

C (k) = ((X (s)))s−W k ( 4 . 1 7 )

D e t a i l s o f t h e p o l y n o m i a l a l g e b r a u s e f u l i n d i g i t a l s i g n a l p r o c e s s i n g c a n b e f o u n d i n [ 2 7 ] ,

[ 2 3 3 ] , [ 2 6 1 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 30/254

2 4

C H A P T E R 4 . P O L Y N O M I A L D E S C R I P T I O N O F S I G N A L S

4 . 2 T h e D F T a s a P o l y n o m i a l E v a l u a t i o n

T h e Z - t r a n s f o r m o f a n u m b e r s e q u e n c e x (n) i s d e n e d a s

X (z ) =∞n=0

x (n) z −n( 4 . 1 8 )

w h i c h i s t h e s a m e a s t h e p o l y n o m i a l d e s c r i p t i o n i n ( 4 . 1 ) b u t w i t h a n e g a t i v e e x p o n e n t . F o r

a n i t e l e n g t h - N s e q u e n c e ( 4 . 1 8 ) b e c o m e s

X (z ) =N −1n=0

x (n) z −n( 4 . 1 9 )

X (z ) = x (0) + x (1) z −1 + x (2) z −2 +

·+ x (N

−1) z −N +1

( 4 . 2 0 )

T h i s N − 1 o r d e r p o l y n o m i a l t a k e s o n t h e v a l u e s o f t h e D F T o f x (n) w h e n e v a l u a t e d a t

z = e j2πk/N ( 4 . 2 1 )

w h i c h g i v e s

C (k) = X (z ) |z=ej2πk/N =N −1n=0

x (n) e− j2πnk/N ( 4 . 2 2 )

I n t e r m s o f t h e p o s i t i v e e x p o n e n t p o l y n o m i a l f r o m ( 4 . 1 ) , t h e D F T i s

C (k) = X (s) |s=W k ( 4 . 2 3 )

w h e r e

W = e− j2π/N ( 4 . 2 4 )

i s a n N th r o o t o f u n i t y ( r a i s i n g W t o t h e N th p o w e r g i v e s o n e ) . T h e N v a l u e s o f t h e D F T

a r e f o u n d f r o m X (s) e v a l u a t e d a t t h e N N th r o o t s o f u n i t y w h i c h a r e e q u a l l y s p a c e d a r o u n d

t h e u n i t c i r c l e i n t h e c o m p l e x s p l a n e .

O n e m e t h o d o f e v a l u a t i n g X (z ) i s t h e s o - c a l l e d H o r n e r ' s r u l e o r n e s t e d e v a l u a t i o n . W h e n

e x p r e s s e d a s a r e c u r s i v e c a l c u l a t i o n , H o r n e r ' s r u l e b e c o m e s t h e G o e r t z e l a l g o r i t h m w h i c h h a s

s o m e c o m p u t a t i o n a l a d v a n t a g e s e s p e c i a l l y w h e n o n l y a f e w v a l u e s o f t h e D F T a r e n e e d e d .

T h e d e t a i l s a n d p r o g r a m s c a n b e f o u n d i n [ 2 7 2 ] , [ 6 1 ] a n d T h e D F T a s C o n v o l u t i o n o r F i l t e r -

i n g : G o e r t z e l ' s A l g o r i t h m ( o r A B e t t e r D F T A l g o r i t h m ) ( S e c t i o n 5 . 3 : G o e r t z e l ' s A l g o r i t h m

( o r A B e t t e r D F T A l g o r i t h m ) )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 31/254

2 5

A n o t h e r m e t h o d f o r e v a l u a t i n g X (s) i s t h e r e s i d u e r e d u c t i o n m o d u l o

s − W k

a s s h o w n i n

( 4 . 1 7 ) . E a c h e v a l u a t i o n r e q u i r e s N m u l t i p l i c a t i o n s a n d t h e r e f o r e , N 2 m u l t i p l i c a t i o n s f o r t h e

N v a l u e s o f C (k) .

C (k) = ((X (s)))(s−W k) ( 4 . 2 5 )

A c o n s i d e r a b l e r e d u c t i o n i n r e q u i r e d a r i t h m e t i c c a n b e a c h i e v e d i f s o m e o p e r a t i o n s c a n b e

s h a r e d b e t w e e n t h e r e d u c t i o n s f o r d i e r e n t v a l u e s o f k . T h i s i s d o n e b y c a r r y i n g o u t t h e

r e s i d u e r e d u c t i o n i n s t a g e s t h a t c a n b e s h a r e d r a t h e r t h a n d o n e i n o n e s t e p f o r e a c h k i n

( 4 . 2 5 ) .

T h e N v a l u e s o f t h e D F T a r e v a l u e s o f X (s) e v a l u a t e d a t s e q u a l t o t h e N r o o t s o f t h e

p o l y n o m i a l P (s) = sN − 1 w h i c h a r e W k . F i r s t , a s s u m i n g N i s e v e n , f a c t o r P (s) a s

P (s) =

s

N

− 1

= P 1 (s) P 2 (s) =

s

N/2

− 1

s

N/2

+ 1 ( 4 . 2 6 )

X (s) i s r e d u c e d m o d u l o t h e s e t w o f a c t o r s t o g i v e t w o r e s i d u e p o l y n o m i a l s , X 1 (s) a n d

X 2 (s) . T h i s p r o c e s s i s r e p e a t e d b y f a c t o r i n g P 1 a n d f u r t h e r r e d u c i n g X 1 t h e n f a c t o r i n g P 2a n d r e d u c i n g X 2 . T h i s i s c o n t i n u e d u n t i l t h e f a c t o r s a r e o f r s t d e g r e e w h i c h g i v e s t h e d e s i r e d

D F T v a l u e s a s i n ( 4 . 2 5 ) . T h i s i s i l l u s t r a t e d f o r a l e n g t h - 8 D F T . T h e p o l y n o m i a l w h o s e r o o t s

a r e W k , f a c t o r s a s

P (s) = s8 − 1 ( 4 . 2 7 )

= s4 − 1 s

4 + 1 ( 4 . 2 8 )

=

s2 − 1

s2 + 1

s2 − j

s2 + j

( 4 . 2 9 )

= [(s − 1) (s + 1) (s − j) (s + j)][(s − a) (s + a) (s − ja) (s + ja)] ( 4 . 3 0 )

w h e r e a2 = j . R e d u c i n g X (s) b y t h e r s t f a c t o r i n g g i v e s t w o t h i r d d e g r e e p o l y n o m i a l s

X (s) = x0 + x1s + x2s2 + ... + x7s7 ( 4 . 3 1 )

g i v e s t h e r e s i d u e p o l y n o m i a l s

X 1 (s) = ((X (s)))(s4−1) = (x0 + x4) + (x1 + x5) s + (x2 + x6) s2 + (x3 + x7) s3 ( 4 . 3 2 )

X 2 (s) = ((X (s)))(s4+1) = (x0 − x4) + (x1 − x5) s + (x2 − x6) s2 + (x3 − x7) s3 ( 4 . 3 3 )

T w o m o r e l e v e l s o f r e d u c t i o n a r e c a r r i e d o u t t o n a l l y g i v e t h e D F T . C l o s e e x a m i n a t i o n

s h o w s t h e r e s u l t i n g a l g o r i t h m t o b e t h e d e c i m a t i o n - i n - f r e q u e n c y r a d i x - 2 C o o l e y - T u k e y F F T

[ 2 7 2 ] , [ 6 1 ] . M a r t e n s [ 2 2 7 ] h a s u s e d t h i s a p p r o a c h t o d e r i v e a n e c i e n t D F T a l g o r i t h m .

O t h e r a l g o r i t h m s a n d t y p e s o f F F T c a n b e d e v e l o p e d u s i n g p o l y n o m i a l r e p r e s e n t a t i o n s a n d

s o m e a r e p r e s e n t e d i n t h e g e n e r a l i z a t i o n i n D F T a n d F F T : A n A l g e b r a i c V i e w ( C h a p t e r 8 ) .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 32/254

2 6

C H A P T E R 4 . P O L Y N O M I A L D E S C R I P T I O N O F S I G N A L S

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 33/254

C h a p t e r 5

T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g

1

A m a j o r a p p l i c a t i o n o f t h e F F T i s f a s t c o n v o l u t i o n o r f a s t l t e r i n g w h e r e t h e D F T o f t h e

s i g n a l i s m u l t i p l i e d t e r m - b y - t e r m b y t h e D F T o f t h e i m p u l s e ( h e l p s t o b e d o i n g n i t e i m p u l s e

r e s p o n s e ( F I R ) l t e r i n g ) a n d t h e t i m e - d o m a i n o u t p u t i s o b t a i n e d b y t a k i n g t h e i n v e r s e D F T

o f t h a t p r o d u c t . W h a t i s l e s s w e l l - k n o w n i s t h e D F T c a n b e c a l c u l a t e d b y c o n v o l u t i o n .

T h e r e a r e s e v e r a l d i e r e n t a p p r o a c h e s t o t h i s , e a c h w i t h d i e r e n t a p p l i c a t i o n .

5 . 1 R a d e r ' s C o n v e r s i o n o f t h e D F T i n t o C o n v o l u t i o n

I n t h i s s e c t i o n a m e t h o d q u i t e d i e r e n t f r o m t h e i n d e x m a p p i n g o r p o l y n o m i a l e v a l u a t i o n

i s d e v e l o p e d . R a t h e r t h a n d e a l i n g w i t h t h e D F T d i r e c t l y , i t i s c o n v e r t e d i n t o a c y c l i c

c o n v o l u t i o n w h i c h m u s t t h e n b e c a r r i e d o u t b y s o m e e c i e n t m e a n s . T h o s e m e a n s w i l l

b e c o v e r e d l a t e r , b u t h e r e t h e c o n v e r s i o n w i l l b e e x p l a i n e d . T h i s m e t h o d r e q u i r e s u s e o f

s o m e n u m b e r t h e o r y , w h i c h c a n b e f o u n d i n a n a c c e s s i b l e f o r m i n [ 2 3 4 ] o r [ 2 6 2 ] a n d i s e a s y

e n o u g h t o v e r i f y o n o n e ' s o w n . A g o o d g e n e r a l r e f e r e n c e o n n u m b e r t h e o r y i s [ 2 5 9 ] .

T h e D F T a n d c y c l i c c o n v o l u t i o n a r e d e n e d b y

C (k) =N −1n=0

x (n) W nk ( 5 . 1 )

y (k) =N −1

n=0

x (n) h (k

−n) ( 5 . 2 )

F o r b o t h , t h e i n d i c e s a r e e v a l u a t e d m o d u l o N . I n o r d e r t o c o n v e r t t h e D F T i n ( 5 . 1 ) i n t o t h e

c y c l i c c o n v o l u t i o n o f ( 5 . 2 ) , t h e nk p r o d u c t m u s t b e c h a n g e d t o t h e k − n d i e r e n c e . W i t h

r e a l n u m b e r s , t h i s c a n b e d o n e w i t h l o g a r i t h m s , b u t i t i s m o r e c o m p l i c a t e d w h e n w o r k i n g

i n a n i t e s e t o f i n t e g e r s m o d u l o N . F r o m n u m b e r t h e o r y [ 2 8 ] , [ 2 3 4 ] , [ 2 6 2 ] , [ 2 5 9 ] , i t c a n b e

s h o w n t h a t i f t h e m o d u l u s i s a p r i m e n u m b e r , a b a s e ( c a l l e d a p r i m i t i v e r o o t ) e x i s t s s u c h

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 8 / 1 . 9 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

2 7

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 34/254

2 8

C H A P T E R 5 . T H E D F T A S C O N V O L U T I O N O R F I L T E R I N G

t h a t a f o r m o f i n t e g e r l o g a r i t h m c a n b e d e n e d . T h i s i s s t a t e d i n t h e f o l l o w i n g w a y . I f N i s

a p r i m e n u m b e r , a n u m b e r r c a l l e d a p r i m i t i v e r o o t s e x i s t s s u c h t h a t t h e i n t e g e r e q u a t i o n

n = ((rm))N ( 5 . 3 )

c r e a t e s a u n i q u e , o n e - t o - o n e m a p o f t h e N −1 m e m b e r s e t m = 0,...,N −2 a n d t h e N −1m e m b e r s e t n = 1,...,N − 1. T h i s i s b e c a u s e t h e m u l t i p l i c a t i v e g r o u p o f i n t e g e r s m o d u l o

a p r i m e , p, i s i s o m o r p h i c t o t h e a d d i t i v e g r o u p o f i n t e g e r s m o d u l o ( p − 1) a n d i s i l l u s t r a t e d

f o r N = 5 b e l o w .

r m = 0 1 2 3 4 5 6 7

1 1 1 1 1 1 1 1 1

2 1 2 4 3 1 2 4 3

3 1 3 4 2 1 3 4 2

4 1 4 1 4 1 4 1 4

5 * 0 0 0 * 0 0 0

6 1 1 1 1 1 1 1 1

T a b l e 5 . 1 : T a b l e o f I n t e g e r s n = ((rm)) m o d u l o 5 , [ * n o t d e n e d ]

T a b l e 5 . 1 i s a n a r r a y o f v a l u e s o f rmm o d u l o N a n d i t i s e a s y t o s e e t h a t t h e r e a r e t w o

p r i m i t i v e r o o t s , 2 a n d 3 , a n d ( 5 . 3 ) d e n e s a p e r m u t a t i o n o f t h e i n t e g e r s n f r o m t h e i n t e g e r s

m ( e x c e p t f o r z e r o ) . ( 5 . 3 ) a n d a p r i m i t i v e r o o t ( u s u a l l y c h o s e n t o b e t h e s m a l l e s t o f t h o s e

t h a t e x i s t ) c a n b e u s e d t o c o n v e r t t h e D F T i n ( 5 . 1 ) t o t h e c o n v o l u t i o n i n ( 5 . 2 ) . S i n c e ( 5 . 3 )

c a n n o t g i v e a z e r o , a n e w l e n g t h - ( N - 1 ) d a t a s e q u e n c e i s d e n e d f r o m x (n) b y r e m o v i n g t h e

t e r m w i t h i n d e x z e r o . L e t

n = r−m( 5 . 4 )

a n d

k = rs( 5 . 5 )

w h e r e t h e t e r m w i t h t h e n e g a t i v e e x p o n e n t ( t h e i n v e r s e ) i s d e n e d a s t h e i n t e g e r t h a t

s a t i s e s

r−mrm

N

= 1 ( 5 . 6 )

I f N i s a p r i m e n u m b e r , r−ma l w a y s e x i s t s . F o r e x a m p l e , ((2−1))5 = 3. ( 5 . 1 ) n o w b e c o m e s

C (rs) =N −2m=0

x

r−m

W r−mrs + x (0) , ( 5 . 7 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 35/254

2 9

f o r s = 0, 1,..,N − 2, a n d

C (0) =

N −1n=0

x (n)( 5 . 8 )

N e w f u n c t i o n s a r e d e n e d , w h i c h a r e s i m p l y a p e r m u t a t i o n i n t h e o r d e r o f t h e o r i g i n a l

f u n c t i o n s , a s

x' (m) = x

r−m

, C ' (s) = C (rs) , W ' (n) = W rn

( 5 . 9 )

( 5 . 7 ) t h e n b e c o m e s

C ' (s) =N −2

m=0

x' (m) W ' (s − m) + x (0) ( 5 . 1 0 )

w h i c h i s c y c l i c c o n v o l u t i o n o f l e n g t h N - 1 ( p l u s x (0)) a n d i s d e n o t e d a s

C ' (k) = x' (k) ∗ W ' (k) + x (0) ( 5 . 1 1 )

A p p l y i n g t h i s c h a n g e o f v a r i a b l e s ( u s e o f l o g a r i t h m s ) t o t h e D F T c a n b e s t b e i l l u s t r a t e d

f r o m t h e m a t r i x f o r m u l a t i o n o f t h e D F T . ( 5 . 1 ) i s w r i t t e n f o r a l e n g t h - 5 D F T a s

C (0)

C (1)

C (2)

C (3)

C (4)

=

0 0 0 0 0

0 1 2 3 4

0 2 4 1 3

0 3 1 4 2

0 4 3 2 1

x (0)

x (1)

x (2)

x (3)

x (4)

( 5 . 1 2 )

w h e r e t h e s q u a r e m a t r i x s h o u l d c o n t a i n t h e t e r m s o f W nk b u t f o r c l a r i t y , o n l y t h e e x p o n e n t s

nk a r e s h o w n . S e p a r a t i n g t h e x (0) t e r m , a p p l y i n g t h e m a p p i n g o f ( 5 . 9 ) , a n d u s i n g t h e

p r i m i t i v e r o o t s r = 2 ( a n d r−1 = 3) g i v e s

C (1)

C (2)

C (4)C (3)

=

1 3 4 2

2 1 3 4

4 2 1 33 4 2 1

x (1)

x (3)

x (4)x (2)

+

x (0)

x (0)

x (0)x (0)

( 5 . 1 3 )

a n d

C (0) = x (0) + x (1) + x (2) + x (3) + x (4) ( 5 . 1 4 )

w h i c h c a n b e s e e n t o b e a r e o r d e r i n g o f t h e s t r u c t u r e i n ( 5 . 1 2 ) . T h i s i s i n t h e f o r m o f c y c l i c

c o n v o l u t i o n a s i n d i c a t e d i n ( 5 . 1 0 ) . R a d e r r s t s h o w e d t h i s i n 1 9 6 8 [ 2 3 4 ] , s t a t i n g t h a t a p r i m e

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 36/254

3 0

C H A P T E R 5 . T H E D F T A S C O N V O L U T I O N O R F I L T E R I N G

l e n g t h - N D F T c o u l d b e c o n v e r t e d i n t o a l e n g t h - ( N - 1 ) c y c l i c c o n v o l u t i o n o f a p e r m u t a t i o n

o f t h e d a t a w i t h a p e r m u t a t i o n o f t h e W ' s . H e a l s o s t a t e d t h a t a s l i g h t l y m o r e c o m p l i c a t e d

v e r s i o n o f t h e s a m e i d e a w o u l d w o r k f o r a D F T w i t h a l e n g t h e q u a l t o a n o d d p r i m e t o a

p o w e r . T h e d e t a i l s o f t h a t t h e o r y c a n b e f o u n d i n [ 2 3 4 ] , [ 1 6 9 ] .

U n t i l 1 9 7 6 , t h i s c o n v e r s i o n a p p r o a c h r e c e i v e d l i t t l e a t t e n t i o n s i n c e i t s e e m e d t o o e r f e w

a d v a n t a g e s . I t h a s s p e c i a l i z e d a p p l i c a t i o n s i n c a l c u l a t i n g t h e D F T i f t h e c y c l i c c o n v o l u t i o n

i s d o n e b y d i s t r i b u t e d a r i t h m e t i c t a b l e l o o k - u p [ 7 7 ] o r b y u s e o f n u m b e r t h e o r e t i c t r a n s f o r m s

[ 2 8 ] , [ 2 3 4 ] , [ 2 6 2 ] . I t a n d t h e G o e r t z e l a l g o r i t h m [ 2 7 3 ] , [ 6 2 ] a r e e c i e n t w h e n o n l y a f e w D F T

v a l u e s n e e d t o b e c a l c u l a t e d . I t m a y a l s o h a v e a d v a n t a g e s w h e n u s e d w i t h p i p e l i n e d o r v e c t o r

h a r d w a r e d e s i g n e d f o r f a s t i n n e r p r o d u c t s . O n e e x a m p l e i s t h e T M S 3 2 0 s i g n a l p r o c e s s i n g

m i c r o p r o c e s s o r w h i c h i s p i p e l i n e d f o r i n n e r p r o d u c t s . T h e g e n e r a l u s e o f t h i s s c h e m e e m e r g e d

w h e n n e w f a s t c y c l i c c o n v o l u t i o n a l g o r i t h m s w e r e d e v e l o p e d b y W i n o g r a d [ 4 0 5 ] .

5 . 2 T h e C h i r p Z - T r a n s f o r m ( o r B l u e s t e i n ' s A l g o r i t h m )

T h e D F T o f x (n) e v a l u a t e s t h e Z - t r a n s f o r m o f x (n) o n N e q u a l l y s p a c e d p o i n t s o n t h e u n i t

c i r c l e i n t h e z p l a n e . U s i n g a n o n l i n e a r c h a n g e o f v a r i a b l e s , o n e c a n c r e a t e a s t r u c t u r e w h i c h

i s e q u i v a l e n t t o m o d u l a t i o n a n d l t e r i n g x (n) b y a c h i r p " s i g n a l . [ 3 4 ] , [ 3 0 6 ] , [ 2 9 8 ] , [ 2 7 3 ] ,

[ 3 0 4 ] , [ 6 2 ] .

T h e m a t h e m a t i c a l i d e n t i t y (k − n)2 = k2 − 2kn + n2g i v e s

nk = n2 − (k − n)2 + k2

/2 ( 5 . 1 5 )

w h i c h s u b s t i t u t e d i n t o t h e d e n i t i o n o f t h e D F T i n M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a -

t i o n 1 ( 3 . 1 ) g i v e s

C (k) = N −1n=0

x (n) W n

2/2

W −(k−n)2/2 W k2/2

( 5 . 1 6 )

T h i s e q u a t i o n c a n b e i n t e r p r e t e d a s r s t m u l t i p l y i n g ( m o d u l a t i n g ) t h e d a t a x (n) b y a c h i r p

s e q u e n c e ( W n2/2

, t h e n c o n v o l v i n g ( l t e r i n g ) i t , t h e n n a l l y m u l t i p l y i n g t h e l t e r o u t p u t b y

t h e c h i r p s e q u e n c e t o g i v e t h e D F T .

D e n e t h e c h i r p s e q u e n c e o r s i g n a l a s h (n) = W n2/2

w h i c h i s c a l l e d a c h i r p b e c a u s e t h e

s q u a r e d e x p o n e n t g i v e s a s i n u s o i d w i t h c h a n g i n g f r e q u e n c y . U s i n g t h i s d e n i t i o n , ( 5 . 1 6 )

b e c o m e s

C (n) = [x (n) h (n)] ∗ h−1 h (n) ( 5 . 1 7 )

W e k n o w t h a t c o n v o l u t i o n c a n b e c a r r i e d o u t b y m u l t i p l y i n g t h e D F T s o f t h e s i g n a l s , h e r e

w e s e e t h a t e v a l u a t i o n o f t h e D F T c a n b e c a r r i e d o u t b y c o n v o l u t i o n . I n d e e d , t h e c o n v o l u t i o n

r e p r e s e n t e d b y ∗ i n ( 5 . 1 7 ) c a n b e c a r r i e d o u t b y D F T s ( a c t u a l l y F F T s ) o f a l a r g e r l e n g t h .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 37/254

3 1

T h i s a l l o w s a p r i m e l e n g t h D F T t o b e c a l c u l a t e d b y a v e r y e c i e n t l e n g t h - 2M F F T . T h i s

b e c o m e s p r a c t i c a l f o r l a r g e N w h e n a p a r t i c u l a r n o n - c o m p o s i t e ( o r N w i t h f e w f a c t o r s )

l e n g t h i s r e q u i r e d .

A s d e v e l o p e d h e r e , t h e c h i r p z - t r a n s f o r m e v a l u a t e s t h e z - t r a n s f o r m a t e q u a l l y s p a c e d p o i n t s

o n t h e u n i t c i r c l e . A s l i g h t m o d i c a t i o n a l l o w s e v a l u a t i o n o n a s p i r a l a n d i n s e g m e n t s [ 2 9 8 ] ,

[ 2 7 3 ] a n d a l l o w s s a v i n g s w i t h o n l y s o m e i n p u t v a l u e s a r e n o n z e r o o r w h e n o n l y s o m e o u t p u t

v a l u e s a r e n e e d e d . T h e s t o r y o f t h e d e v e l o p m e n t o f t h i s t r a n s f o r m i s g i v e n i n [ 3 0 4 ] .

T w o M a t l a b p r o g r a m s t o c a l c u l a t e a n a r b i t r a r y l e n g t h D F T u s i n g t h e c h i r p z - t r a n s f o r m i s

s h o w n i n p . ? ? .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 38/254

3 2

C H A P T E R 5 . T H E D F T A S C O N V O L U T I O N O R F I L T E R I N G

f u n c t i o n y = c h i r p c ( x ) ;

% f u n c t i o n y = c h i r p c ( x )

% c o m p u t e s a n a r b i t r a r y - l e n g t h D F T w i t h t h e

% c h i r p z - t r a n s f o r m a l g o r i t h m . c s b . 6 / 1 2 / 9 1

%

N = l e n g t h ( x ) ; n = 0 : N - 1 ; % S e q u e n c e l e n g t h

W = e x p ( - j * p i * n . * n / N ) ; % C h i r p s i g n a l

x w = x . * W ; % M o d u l a t e w i t h c h i r p

W W = [ c o n j ( W ( N : - 1 : 2 ) ) , c o n j ( W ) ] ; % C o n s t r u c t f i l t e r

y = c o n v ( W W , x w ) ; % C o n v o l v e w f i l t e r

y = y ( N : 2 * N - 1 ) . * W ; % D e m o d u l a t e w c h i r p

f u n c t i o n y = c h i r p ( x ) ;

% f u n c t i o n y = c h i r p ( x )

% c o m p u t e s a n a r b i t r a r y - l e n g t h D i s c r e t e F o u r i e r T r a n s f o r m ( D F T )

% w i t h t h e c h i r p z t r a n s f o r m a l g o r i t h m . T h e l i n e a r c o n v o l u t i o n

% t h e n r e q u i r e d i s d o n e w i t h F F T s .

% 1 9 8 8 : L . A r e v a l o ; 1 1 . 0 6 . 9 1 K . S c h w a r z , L N T E r l a n g e n ; 6 / 1 2 / 9 1 c s b .

%

N = l e n g t h ( x ) ; % S e q u e n c e l e n g t h

L = 2 ^ c e i l ( l o g ( ( 2 * N - 1 ) ) / l o g ( 2 ) ) ; % F F T l e n g t h

n = 0 : N - 1 ;

W = e x p ( - j * p i * n . * n / N ) ; % C h i r p s i g n a l

F W = f f t ( [ c o n j ( W ) , z e r o s ( 1 , L - 2 * N + 1 ) , c o n j ( W ( N : - 1 : 2 ) ) ] , L ) ;

y = i f f t ( F W . * f f t ( x . ' . * W , L ) ) ; % C o n v o l v e u s i n g F F T

y = y ( 1 : N ) . * W ; % D e m o d u l a t e

F i g u r e 5 . 1

5 . 3 G o e r t z e l ' s A l g o r i t h m ( o r A B e t t e r D F T A l g o r i t h m )

G o e r t z e l ' s a l g o r i t h m [ 1 4 4 ] , [ 6 2 ] , [ 2 6 9 ] i s a n o t h e r m e t h o d s t h a t c a l c u l a t e s t h e D F T b y c o n -

v e r t i n g i t i n t o a d i g i t a l l t e r i n g p r o b l e m . T h e m e t h o d l o o k s a t t h e c a l c u l a t i o n o f t h e D F T

a s t h e e v a l u a t i o n o f a p o l y n o m i a l o n t h e u n i t c i r c l e i n t h e c o m p l e x p l a n e . T h i s e v a l u a t i o n i s

d o n e b y H o r n e r ' s m e t h o d w h i c h i s i m p l e m e n t e d r e c u r s i v e l y b y a n I I R l t e r .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 39/254

3 3

5 . 3 . 1 T h e F i r s t - O r d e r G o e r t z e l A l g o r i t h m

T h e p o l y n o m i a l w h o s e v a l u e s o n t h e u n i t c i r c l e a r e t h e D F T i s a s l i g h t l y m o d i e d z - t r a n s f o r m

o f x ( n ) g i v e n b y

X (z ) =N −1n=0

x (n) z −n( 5 . 1 8 )

w h i c h f o r c l a r i t y i n t h i s d e v e l o p m e n t u s e s a p o s i t i v e e x p o n e n t . T h i s i s i l l u s t r a t e d f o r a

l e n g t h - 4 s e q u e n c e a s a t h i r d - o r d e r p o l y n o m i a l b y

X (z ) = x (3) z 3 + x (2) z 2 + x (1) z + x (0) ( 5 . 1 9 )

T h e D F T i s f o u n d b y e v a l u a t i n g ( 5 . 1 8 ) a t z = W k , w h i c h c a n b e w r i t t e n a s

C (k) = X (z ) |z=W k = DF T x (n) ( 5 . 2 0 )

w h e r e

W = e− j2π/N ( 5 . 2 1 )

T h e m o s t e c i e n t w a y o f e v a l u a t i n g a g e n e r a l p o l y n o m i a l w i t h o u t a n y p r e - p r o c e s s i n g i s b y

H o r n e r ' s r u l e " [ 2 0 8 ] w h i c h i s a n e s t e d e v a l u a t i o n . T h i s i s i l l u s t r a t e d f o r t h e p o l y n o m i a l i n

( 5 . 1 9 ) b y

X (z ) = [x (3) z + x (2)] z + x (1)z + x (0) ( 5 . 2 2 )

T h i s n e s t e d s e q u e n c e o f o p e r a t i o n s c a n b e w r i t t e n a s a l i n e a r d i e r e n c e e q u a t i o n i n t h e f o r m

o f

y (m) = z y (m − 1) + x (N − m) ( 5 . 2 3 )

w i t h i n i t i a l c o n d i t i o n y (0) = 0, a n d t h e d e s i r e d r e s u l t b e i n g t h e s o l u t i o n a t m = N . T h e

v a l u e o f t h e p o l y n o m i a l i s g i v e n b y

X (z ) = y (N ) . ( 5 . 2 4 )

( 5 . 2 3 ) c a n b e v i e w e d a s a r s t - o r d e r I I R l t e r w i t h t h e i n p u t b e i n g t h e d a t a s e q u e n c e i n

r e v e r s e o r d e r a n d t h e v a l u e o f t h e p o l y n o m i a l a t z b e i n g t h e l t e r o u t p u t s a m p l e d a t m = N .

A p p l y i n g t h i s t o t h e D F T g i v e s t h e G o e r t z e l a l g o r i t h m [ 2 8 3 ] , [ 2 6 9 ] w h i c h i s

y (m) = W ky (m − 1) + x (N − m) ( 5 . 2 5 )

w i t h y (0) = 0 a n d

C (k) = y (N ) ( 5 . 2 6 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 40/254

3 4

C H A P T E R 5 . T H E D F T A S C O N V O L U T I O N O R F I L T E R I N G

w h e r e

C (k) =

N −1n=0

x (n) W nk

.( 5 . 2 7 )

T h e o w g r a p h o f t h e a l g o r i t h m c a n b e f o u n d i n [ 6 2 ] , [ 2 6 9 ] a n d a s i m p l e F O R T R A N p r o g r a m

i s g i v e n i n t h e a p p e n d i x .

W h e n c o m p a r i n g t h i s p r o g r a m w i t h t h e d i r e c t c a l c u l a t i o n o f ( 5 . 2 7 ) , i t i s s e e n t h a t t h e n u m b e r

o f o a t i n g - p o i n t m u l t i p l i c a t i o n s a n d a d d i t i o n s a r e t h e s a m e . I n f a c t , t h e s t r u c t u r e s o f t h e

t w o a l g o r i t h m s l o o k s i m i l a r , b u t c l o s e e x a m i n a t i o n s h o w s t h a t t h e w a y t h e s i n e s a n d c o s i n e s

e n t e r t h e c a l c u l a t i o n s i s d i e r e n t . I n ( 5 . 2 7 ) , n e w s i n e a n d c o s i n e v a l u e s a r e c a l c u l a t e d f o r

e a c h f r e q u e n c y a n d f o r e a c h d a t a v a l u e , w h i l e f o r t h e G o e r t z e l a l g o r i t h m i n ( 5 . 2 5 ) , t h e y a r e

c a l c u l a t e d o n l y f o r e a c h f r e q u e n c y i n t h e o u t e r l o o p . B e c a u s e o f t h e r e c u r s i v e o r f e e d b a c k

n a t u r e o f t h e a l g o r i t h m , t h e s i n e a n d c o s i n e v a l u e s a r e u p d a t e d " e a c h l o o p r a t h e r t h a n

r e c a l c u l a t e d . T h i s r e s u l t s i n 2N t r i g o n o m e t r i c e v a l u a t i o n s r a t h e r t h a n 2N 2 . I t a l s o r e s u l t s

i n a n i n c r e a s e i n a c c u m u l a t e d q u a n t i z a t i o n e r r o r .

I t i s p o s s i b l e t o m o d i f y t h i s a l g o r i t h m t o a l l o w e n t e r i n g t h e d a t a i n f o r w a r d o r d e r r a t h e r

t h a n r e v e r s e o r d e r . T h e d i e r e n c e ( 5 . 2 3 ) b e c o m e s

y (m) = z −1y (m − 1) + x (m − 1) ( 5 . 2 8 )

i f ( 5 . 2 4 ) b e c o m e s

C (k) = z N −1 y (N ) ( 5 . 2 9 )

f o r y (0) = 0 . T h i s i s t h e a l g o r i t h m p r o g r a m m e d l a t e r .

5 . 3 . 2 T h e S e c o n d - O r d e r G o e r t z e l A l g o r i t h m

O n e o f t h e r e a s o n s t h e r s t - o r d e r G o e r t z e l a l g o r i t h m d o e s n o t i m p r o v e e c i e n c y i s t h a t

t h e c o n s t a n t i n t h e f e e d b a c k o r r e c u r s i v e p a t h i s c o m p l e x a n d , t h e r e f o r e , r e q u i r e s f o u r r e a l

m u l t i p l i c a t i o n s a n d t w o r e a l a d d i t i o n s . A m o d i c a t i o n o f t h e s c h e m e t o m a k e i t s e c o n d - o r d e r

r e m o v e s t h e c o m p l e x m u l t i p l i c a t i o n s a n d r e d u c e s t h e n u m b e r o f r e q u i r e d m u l t i p l i c a t i o n s b y

t w o .

D e n e t h e v a r i a b l e

q (m)s o t h a t

y (m) = q (m) − z −1 q (m − 1) . ( 5 . 3 0 )

T h i s s u b s t i t u t e d i n t o t h e r i g h t - h a n d s i d e o f ( 5 . 2 3 ) g i v e s

y (m) = z q (m − 1) − q (m − 2) + x (N − m) . ( 5 . 3 1 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 41/254

3 5

C o m b i n i n g ( 5 . 3 0 ) a n d ( 5 . 3 1 ) g i v e s t h e s e c o n d o r d e r d i e r e n c e e q u a t i o n

q (m) = z + z −1 q (m

−1)

−q (m

−2) + x (N

−m) ( 5 . 3 2 )

w h i c h t o g e t h e r w i t h t h e o u t p u t ( 5 . 3 0 ) , c o m p r i s e t h e s e c o n d - o r d e r G o e r t z e l a l g o r i t h m w h e r e

X (z ) = y (N ) ( 5 . 3 3 )

f o r i n i t i a l c o n d i t i o n s q (0) = q (−1) = 0 .

A s i m i l a r d e v e l o p m e n t s t a r t i n g w i t h ( 5 . 2 8 ) g i v e s a s e c o n d - o r d e r a l g o r i t h m w i t h f o r w a r d

o r d e r e d i n p u t a s

q (m) =

z + z −1

q (m − 1) − q (m − 2) + x (m − 1) ( 5 . 3 4 )

y (m) = q (m) − z q (−1) ( 5 . 3 5 )

w i t h

X (z ) = z N −1 y (N ) ( 5 . 3 6 )

a n d f o r q (0) = q (−1) = 0.

N o t e t h a t b o t h d i e r e n c e ( 5 . 3 2 ) a n d ( 5 . 3 4 ) a r e n o t c h a n g e d i f z i s r e p l a c e d w i t h z −1 , o n l y

t h e o u t p u t ( 5 . 3 0 ) a n d ( 5 . 3 5 ) a r e d i e r e n t . T h i s m e a n s t h a t t h e p o l y n o m i a l X (z ) m a y b e

e v a l u a t e d a t a p a r t i c u l a r z a n d i t s i n v e r s e z −1 f r o m o n e s o l u t i o n o f t h e d i e r e n c e ( 5 . 3 2 ) o r

( 5 . 3 4 ) u s i n g t h e o u t p u t e q u a t i o n s

X (z ) = q (N ) − z −1 q (N − 1) ( 5 . 3 7 )

a n d

X (1/z ) = z N −1 (q (N ) − z q (N − 1)) . ( 5 . 3 8 )

C l e a r l y , t h i s a l l o w s t h e D F T o f a s e q u e n c e t o b e c a l c u l a t e d w i t h h a l f t h e a r i t h m e t i c s i n c e

t h e o u t p u t s a r e c a l c u l a t e d t w o a t a t i m e . T h e s e c o n d - o r d e r D E a c t u a l l y p r o d u c e s a s o l u t i o n

q (m) t h a t c o n t a i n s t w o r s t - o r d e r c o m p o n e n t s . T h e o u t p u t e q u a t i o n s a r e , i n e e c t , z e r o s

t h a t c a n c e l o n e o r t h e o t h e r p o l e o f t h e s e c o n d - o r d e r s o l u t i o n t o g i v e t h e d e s i r e d r s t - o r d e r

s o l u t i o n . I n a d d i t i o n t o a l l o w i n g t h e c a l c u l a t i n g o f t w o o u t p u t s a t a t i m e , t h e s e c o n d - o r d e r

D E r e q u i r e s h a l f t h e n u m b e r o f r e a l m u l t i p l i c a t i o n s a s t h e r s t - o r d e r f o r m . T h i s i s b e c a u s e

t h e c o e c i e n t o f t h e q (m − 2) i s u n i t y a n d t h e c o e c i e n t o f t h e q (m − 1) i s r e a l i f z a n d

z −1 a r e c o m p l e x c o n j u g a t e s o f e a c h o t h e r w h i c h i s t r u e f o r t h e D F T .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 42/254

3 6

C H A P T E R 5 . T H E D F T A S C O N V O L U T I O N O R F I L T E R I N G

5 . 3 . 3 A n a l y s i s o f A r i t h m e t i c C o m p l e x i t y a n d T i m i n g s

A n a l y s i s o f t h e v a r i o u s f o r m s o f t h e G o e r t z e l a l g o r i t h m f r o m t h e i r p r o g r a m s g i v e s t h e f o l -

l o w i n g o p e r a t i o n c o u n t f o r r e a l m u l t i p l i c a t i o n s a n d r e a l a d d i t i o n s a s s u m i n g r e a l d a t a .

A l g o r i t h m R e a l M u l t s . R e a l A d d s T r i g E v a l .

D i r e c t D F T 4 N 2 4 N 2 2 N 2

F i r s t - O r d e r 4 N 2 4 N 2 − 2N 2 N

S e c o n d - O r d e r 2 N 2 + 2N 4 N 2 2 N

S e c o n d - O r d e r 2 N 2 + N 2 N 2 + N N

T a b l e 5 . 2

T i m i n g s o f t h e a l g o r i t h m s o n a P C i n m i l l i s e c o n d s a r e g i v e n i n t h e f o l l o w i n g t a b l e .

A l g o r i t h m N = 125 N = 257

D i r e c t D F T 4 . 9 0 1 9 . 8 3

F i r s t - O r d e r 4 . 0 1 1 6 . 7 0

S e c o n d - O r d e r 2 . 6 4 1 1 . 0 4

S e c o n d - O r d e r 2 1 . 3 2 5 . 5 5

T a b l e 5 . 3

T h e s e t i m i n g s t r a c k t h e o a t i n g p o i n t o p e r a t i o n c o u n t s f a i r l y w e l l .

5 . 3 . 4 C o n c l u s i o n s

G o e r t z e l ' s a l g o r i t h m i n i t s r s t - o r d e r f o r m i s n o t p a r t i c u l a r l y i n t e r e s t i n g , b u t t h e t w o - a t - a -

t i m e s e c o n d - o r d e r f o r m i s s i g n i c a n t l y f a s t e r t h a n a d i r e c t D F T . I t c a n a l s o b e u s e d f o r a n y

p o l y n o m i a l e v a l u a t i o n o r f o r t h e D T F T a t u n e q u a l l y s p a c e d v a l u e s o r f o r e v a l u a t i n g a f e w

D F T t e r m s . A v e r y i n t e r e s t i n g o b s e r v a t i o n i s t h a t t h e i n n e r - m o s t l o o p o f t h e G l a s s m a n -

F e r g u s o n F F T [ 1 2 4 ] i s a r s t - o r d e r G o e r t z e l a l g o r i t h m e v e n t h o u g h t h a t F F T i s d e v e l o p e d

i n a v e r y d i e r e n t f r a m e w o r k .

I n a d d i t i o n t o o a t i n g - p o i n t a r i t h m e t i c c o u n t s , t h e n u m b e r o f t r i g o n o m e t r i c f u n c t i o n e v a l -

u a t i o n s t h a t m u s t b e m a d e o r t h e s i z e o f a t a b l e t o s t o r e p r e c o m p u t e d v a l u e s s h o u l d b e

c o n s i d e r e d . S i n c e t h e v a l u e o f t h e W nk t e r m s i n ( 5 . 2 3 ) a r e i t e r a t i v e l y c a l c u l a t e i n t h e I I R

l t e r s t r u c t u r e , t h e r e i s r o u n d - o e r r o r a c c u m u l a t i o n t h a t s h o u l d b e a n a l y z e d i n a n y a p p l i -

c a t i o n .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 43/254

3 7

I t m a y b e p o s s i b l e t o f u r t h e r i m p r o v e t h e e c i e n c y o f t h e s e c o n d - o r d e r G o e r t z e l a l g o r i t h m

f o r c a l c u l a t i n g a l l o f t h e D F T o f a n u m b e r s e q u e n c e . P e r h a p s a f o u r t h o r d e r D E c o u l d

c a l c u l a t e f o u r o u t p u t v a l u e s a t a t i m e a n d t h e y c o u l d b e s e p a r a t e d b y a n u m e r a t o r t h a t

w o u l d c a n c e l t h r e e o f t h e z e r o s . P e r h a p s t h e a l g o r i t h m c o u l d b e a r r a n g e d i n s t a g e s t o g i v e

a n N log (N ) o p e r a t i o n c o u n t . T h e c u r r e n t a l g o r i t h m d o e s n o t t a k e i n t o a c c o u n t a n y o f t h e

s y m m e t r i e s o f t h e i n p u t i n d e x . P e r h a p s s o m e o f t h e i d e a s u s e d i n d e v e l o p i n g t h e Q F T [ 5 3 ] ,

[ 1 5 5 ] , [ 1 5 8 ] c o u l d b e u s e d h e r e .

5 . 4 T h e Q u i c k F o u r i e r T r a n s f o r m ( Q F T )

O n e s t a g e o f t h e Q F T c a n u s e t h e s y m m e t r i e s o f t h e s i n e s a n d c o s i n e s t o c a l c u l a t e a D F T

m o r e e c i e n t l y t h a n d i r e c t l y i m p l e m e n t i n g t h e d e n i t i o n M u l t i d i m e n s i o n a l I n d e x M a p p i n g :

E q u a t i o n 1 ( 3 . 1 ) . S i m i l a r t o t h e G o e r t z e l a l g o r i t h m , t h e o n e - s t a g e Q F T i s a b e t t e r N 2 D F T

a l g o r i t h m f o r a r b i t r a r y l e n g t h s . S e e T h e C o o l e y - T u k e y F a s t F o u r i e r T r a n s f o r m A l g o r i t h m :

T h e Q u i c k F o u r i e r T r a n s f o r m , A n F F T b a s e d o n S y m m e t r i e s ( S e c t i o n 9 . 4 : T h e Q u i c k F o u r i e r

T r a n s f o r m , A n F F T b a s e d o n S y m m e t r i e s ) .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 44/254

3 8

C H A P T E R 5 . T H E D F T A S C O N V O L U T I O N O R F I L T E R I N G

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 45/254

C h a p t e r 6

F a c t o r i n g t h e S i g n a l P r o c e s s i n g

O p e r a t o r s

1

A t h i r d a p p r o a c h t o r e m o v i n g r e d u n d a n c y i n a n a l g o r i t h m i s t o e x p r e s s t h e a l g o r i t h m a s

a n o p e r a t o r a n d t h e n f a c t o r t h a t o p e r a t o r i n t o s p a r s e f a c t o r s . T h i s a p p r o a c h i s u s e d b y

T o l i m i e r i [ 3 8 2 ] , [ 3 8 4 ] , E g n e r [ 1 1 8 ] , S e l e s n i c k , E l l i o t t [ 1 2 1 ] a n d o t h e r s . I t i s p r e s e n t e d i n a

m o r e g e n e r a l f o r m i n D F T a n d F F T : A n A l g e b r a i c V i e w ( C h a p t e r 8 ) T h e o p e r a t o r s m a y b e

i n t h e f o r m o f a m a t r i x o r a t e n s o r o p e r a t o r .

6 . 1 T h e F F T f r o m F a c t o r i n g t h e D F T O p e r a t o r

T h e d e n i t i o n o f t h e D F T i n M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 ( 3 . 1 ) c a n w r i t t e n

a s a m a t r i x - v e c t o r o p e r a t i o n b y C = W X w h i c h , f o r N = 8 i s

C (0)

C (1)

C (2)

C (3)

C (4)

C (5)

C (6)

C (7)

=

W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0

W 0 W 1 W 2 W 3 W 4 W 5 W 6 W 7

W 0 W 2 W 4 W 6 W 8 W 10 W 12 W 14

W 0 W 3 W 6 W 9 W 12 W 15 W 18 W 21

W 0 W 4 W 8 W 12 W 16 W 20 W 24 W 28

W 0 W 5 W 10 W 15 W 20 W 25 W 30 W 35

W 0 W 6 W 12 W 18 W 24 W 30 W 36 W 42

W 0 W 7 W 14 W 21 W 28 W 35 W 42 W 49

x (0)

x (1)

x (2)

x (3)

x (4)

x (5)

x (6)

x (7)

( 6 . 1 )

w h i c h c l e a r l y r e q u i r e s N 2 = 64 c o m p l e x m u l t i p l i c a t i o n s a n d N (N − 1) a d d i t i o n s . A f a c t o r -

i z a t i o n o f t h e D F T o p e r a t o r , W , g i v e s W = F 1 F 2 F 3 a n d C = F 1 F 2 F 3 X o r , e x p a n d e d ,

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 0 / 1 . 8 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

3 9

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 46/254

4 0

C H A P T E R 6 . F A C T O R I N G T H E S I G N A L P R O C E S S I N G

O P E R A T O R S

C (0)

C (4)

C (2)

C (6)

C (1)

C (5)

C (3)

C (7)

=

1 1 0 0 0 0 0 0

1−

1 0 0 0 0 0 0

0 0 1 1 0 0 0 0

0 0 1 −1 0 0 0 0

0 0 0 0 1 1 0 0

0 0 0 0 1 −1 0 0

0 0 0 0 0 0 1 1

0 0 0 0 0 0 1

−1

1 0 1 0 0 0

0 1 0 1 0 0

W 0 0 −W 2 0 0 0

0 W 0 0 −W 2 0 0

0 0 0 0 1 0

0 0 0 0 0 1

0 0 0 0 W 0 0

0 0 0 0 0 W 2

( 6 . 2 )

1 0 0 0 1 0 0 0

0 1 0 0 0 1 0 0

0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1

W 0 0 0 0 −W 0 0 0 0

0 W 1 0 0 0 −W 1 0 0

0 0 W 2 0 0 0−

W 2 0

0 0 0 W 3 0 0 0 −W 3

x (0)

x (1)

x (2)

x (3)

x (4)

x (5)

x (6)

x (7)

( 6 . 3 )

w h e r e t h e F i m a t r i c e s a r e s p a r s e . N o t e t h a t e a c h h a s 1 6 ( o r 2N ) n o n - z e r o t e r m s a n d F 2 a n d

F 3 h a v e 8 ( o r N ) n o n - u n i t y t e r m s . I f N = 2M , t h e n t h e n u m b e r o f f a c t o r s i s log (N ) = M . I n

a n o t h e r f o r m w i t h t h e t w i d d l e f a c t o r s s e p a r a t e d s o a s t o c o u n t t h e c o m p l e x m u l t i p l i c a t i o n s

w e h a v e

C (0)

C (4)

C (2)C (6)

C (1)

C (5)

C (3)

C (7)

=

1 1 0 0 0 0 0 0

1 −1 0 0 0 0 0 0

0 0 1 1 0 0 0 00 0 1 −1 0 0 0 0

0 0 0 0 1 1 0 0

0 0 0 0 1 −1 0 0

0 0 0 0 0 0 1 1

0 0 0 0 0 0 1 −1

( 6 . 4 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 47/254

4 1

1 0 0 0 0 0 0 0

0 1 0 0 0 0 0 00 0 W 0 0 0 0 0 0

0 0 0 W 2 0 0 0 0

0 0 0 0 1 0 0 0

0 0 0 0 0 1 0 0

0 0 0 0 0 0 W 0 0

0 0 0 0 0 0 0 W 2

1 0 1 0 0 0 0 0

0 1 0 1 0 0 0 01 0 −1 0 0 0 0 0

0 1 0 −1 0 0 0 0

0 0 0 0 1 0 1 0

0 0 0 0 0 1 0 1

0 0 0 0 1 0 −1 0

0 0 0 0 0 1 0 −1

( 6 . 5 )

1 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0

0 0 1 0 0 0 0 0

0 0 0 1 0 0 0 0

0 0 0 0 W 0 0 0 0

0 0 0 0 0 W 1 0 0

0 0 0 0 0 0 W 2 0

0 0 0 0 0 0 0 W 3

1 0 0 0 1 0 0 0

0 1 0 0 0 1 0 0

0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1

1 0 0 0 −1 0 0 0

0 1 0 0 0 −1 0 0

0 0 1 0 0 0 −1 0

0 0 0 1 0 0 0 −1

x (0)

x (1)

x (2)

x (3)

x (4)

x (5)

x (6)

x (7)

( 6 . 6 )

w h i c h i s i n t h e f o r m

C = A1 M 1 A2 M 2 A3 X d e s c r i b e d b y t h e i n d e x m a p .

A1,

A2, a n d

A3 e a c h r e p r e s e n t s 8 a d d i t i o n s , o r , i n g e n e r a l , N a d d i t i o n s . M 1 a n d M 2 e a c h r e p r e s e n t 4 ( o r

N/2) m u l t i p l i c a t i o n s .

T h i s i s a v e r y i n t e r e s t i n g r e s u l t s h o w i n g t h a t i m p l e m e n t i n g t h e D F T u s i n g t h e f a c t o r e d f o r m

r e q u i r e s c o n s i d e r a b l y l e s s a r i t h m e t i c t h a n t h e s i n g l e f a c t o r d e n i t i o n . I n d e e d , t h e f o r m o f

t h e f o r m u l a t h a t C o o l e y a n d T u k e y d e r i v e d s h o w i n g t h a t t h e a m o u n t o f a r i t h m e t i c r e q u i r e d

b y t h e F F T i s o n t h e o r d e r o f Nlog (N ) c a n b e s e e n f r o m t h e f a c t o r e d o p e r a t o r f o r m u l a t i o n .

M u c h o f t h e t h e o r y o f t h e F F T c a n b e d e v e l o p e d u s i n g o p e r a t o r f a c t o r i n g a n d i t h a s s o m e

a d v a n t a g e s f o r i m p l e m e n t a t i o n o f p a r a l l e l a n d v e c t o r c o m p u t e r a r c h i t e c t u r e s . T h e e i g e n s p a c e

a p p r o a c h i s s o m e w h a t o f t h e s a m e t y p e [ 1 8 ] .

6 . 2 A l g e b r a i c T h e o r y o f S i g n a l P r o c e s s i n g A l g o r i t h m s

A v e r y g e n e r a l s t r u c t u r e f o r a l l k i n d s o f a l g o r i t h m s c a n b e g e n e r a l i z e d f r o m t h e a p p r o a c h

o f o p e r a t o r s a n d o p e r a t o r d e c o m p o s i t i o n . T h i s i s d e v e l o p e d a s A l g e b r a i c T h e o r y o f S i g n a l

P r o c e s s i n g " d i s c u s s e d i n t h e m o d u l e D F T a n d F F T : A n A l g e b r a i c V i e w ( C h a p t e r 8 ) b y

P us c h e l a n d o t h e r s [ 1 1 8 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 48/254

4 2

C H A P T E R 6 . F A C T O R I N G T H E S I G N A L P R O C E S S I N G

O P E R A T O R S

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 49/254

C h a p t e r 7

W i n o g r a d ' s S h o r t D F T A l g o r i t h m s

1

I n 1 9 7 6 , S . W i n o g r a d [ 4 0 6 ] p r e s e n t e d a n e w D F T a l g o r i t h m w h i c h h a d s i g n i c a n t l y f e w e r

m u l t i p l i c a t i o n s t h a n t h e C o o l e y - T u k e y F F T w h i c h h a d b e e n p u b l i s h e d e l e v e n y e a r s e a r l i e r .

T h i s n e w W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m ( W F T A ) i s b a s e d o n t h e t y p e - o n e i n d e x

m a p f r o m M u l t i d i m e n s i o n a l I n d e x M a p p i n g ( C h a p t e r 3 ) w i t h e a c h o f t h e r e l a t i v e l y p r i m e

l e n g t h s h o r t D F T ' s c a l c u l a t e d b y v e r y e c i e n t s p e c i a l a l g o r i t h m s . I t i s t h e s e s h o r t a l g o -

r i t h m s t h a t t h i s s e c t i o n w i l l d e v e l o p . T h e y u s e t h e i n d e x p e r m u t a t i o n o f R a d e r d e s c r i b e d

i n t h e a n o t h e r m o d u l e t o c o n v e r t t h e p r i m e l e n g t h s h o r t D F T ' s i n t o c y c l i c c o n v o l u t i o n s .

W i n o g r a d d e v e l o p e d a m e t h o d f o r c a l c u l a t i n g d i g i t a l c o n v o l u t i o n w i t h t h e m i n i m u m n u m b e r

o f m u l t i p l i c a t i o n s . T h e s e o p t i m a l a l g o r i t h m s a r e b a s e d o n t h e p o l y n o m i a l r e s i d u e r e d u c t i o n

t e c h n i q u e s o f P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s : E q u a t i o n 1 ( 4 . 1 ) t o b r e a k t h e c o n v o l u t i o n

i n t o m u l t i p l e s m a l l o n e s [ 2 9 ] , [ 2 3 5 ] , [ 2 6 3 ] , [ 4 1 6 ] , [ 4 0 8 ] , [ 1 9 7 ] .

T h e o p e r a t i o n o f d i s c r e t e c o n v o l u t i o n d e n e d b y

y (n) =k

h (n − k) x (k) ( 7 . 1 )

i s c a l l e d a b i l i n e a r o p e r a t i o n b e c a u s e , f o r a x e d h (n) , y (n) i s a l i n e a r f u n c t i o n o f x (n)a n d f o r a x e d x (n) i t i s a l i n e a r f u n c t i o n o f h (n) . T h e o p e r a t i o n o f c y c l i c c o n v o l u t i o n i s

t h e s a m e b u t w i t h a l l i n d i c e s e v a l u a t e d m o d u l o N .

R e c a l l f r o m P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s : E q u a t i o n 3 ( 4 . 3 ) t h a t l e n g t h - N c y c l i c c o n v o -

l u t i o n o f x (n) a n d h (n) c a n b e r e p r e s e n t e d b y p o l y n o m i a l m u l t i p l i c a t i o n

Y (s) = X (s) H (s) m o d

sN − 1

( 7 . 2 )

T h i s b i l i n e a r o p e r a t i o n o f ( 7 . 1 ) a n d ( 7 . 2 ) c a n a l s o b e e x p r e s s e d i n t e r m s o f l i n e a r m a t r i x

o p e r a t o r s a n d a s i m p l e r b i l i n e a r o p e r a t o r d e n o t e d b y o w h i c h m a y b e o n l y a s i m p l e e l e m e n t -

b y - e l e m e n t m u l t i p l i c a t i o n o f t h e t w o v e c t o r s [ 2 3 5 ] , [ 1 9 7 ] , [ 2 1 2 ] . T h i s m a t r i x f o r m u l a t i o n

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 3 / 1 . 1 4 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

4 3

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 50/254

4 4

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

i s

Y = C [AXoBH ] ( 7 . 3 )

w h e r e X , H a n d Y a r e l e n g t h - N v e c t o r s w i t h e l e m e n t s o f x (n) , h (n) a n d y (n) r e s p e c t i v e l y .

T h e m a t r i c e s A a n d B h a v e d i m e n s i o n M x N , a n d C i s N x M w i t h M ≥ N . T h e

e l e m e n t s o f A, B , a n d C a r e c o n s t r a i n e d t o b e s i m p l e ; t y p i c a l l y s m a l l i n t e g e r s o r r a t i o n a l

n u m b e r s . I t w i l l b e t h e s e m a t r i x o p e r a t o r s t h a t d o t h e e q u i v a l e n t o f t h e r e s i d u e r e d u c t i o n

o n t h e p o l y n o m i a l s i n ( 7 . 2 ) .

I n o r d e r t o d e r i v e a u s e f u l a l g o r i t h m o f t h e f o r m ( 7 . 3 ) t o c a l c u l a t e ( 7 . 1 ) , c o n s i d e r t h e p o l y n o -

m i a l f o r m u l a t i o n ( 7 . 2 ) a g a i n . T o u s e t h e r e s i d u e r e d u c t i o n s c h e m e , t h e m o d u l u s i s f a c t o r e d

i n t o r e l a t i v e l y p r i m e f a c t o r s . F o r t u n a t e l y t h e f a c t o r i n g o f t h i s p a r t i c u l a r p o l y n o m i a l , sN − 1,

h a s b e e n e x t e n s i v e l y s t u d i e d a n d i t h a s c o n s i d e r a b l e s t r u c t u r e . W h e n f a c t o r e d o v e r t h e

r a t i o n a l s , w h i c h m e a n s t h a t t h e o n l y c o e c i e n t s a l l o w e d a r e r a t i o n a l n u m b e r s , t h e f a c t o r s

a r e c a l l e d c y c l o t o m i c p o l y n o m i a l s [ 2 9 ] , [ 2 3 5 ] , [ 2 6 3 ] . T h e m o s t i n t e r e s t i n g p r o p e r t y f o r o u r

p u r p o s e s i s t h a t m o s t o f t h e c o e c i e n t s o f c y c l o t o m i c p o l y n o m i a l s a r e z e r o a n d t h e o t h e r s

a r e p l u s o r m i n u s u n i t y f o r d e g r e e s u p t o o v e r o n e h u n d r e d . T h i s m e a n s t h e r e s i d u e r e d u c t i o n

w i l l g e n e r a l l y r e q u i r e n o m u l t i p l i c a t i o n s .

T h e o p e r a t i o n s o f r e d u c i n g X (s) a n d H (s) i n ( 7 . 2 ) a r e c a r r i e d o u t b y t h e m a t r i c e s A a n d

B i n ( 7 . 3 ) . T h e c o n v o l u t i o n o f t h e r e s i d u e p o l y n o m i a l s i s c a r r i e d o u t b y t h e o o p e r a t o r a n d

t h e r e c o m b i n a t i o n b y t h e C R T i s d o n e b y t h e C m a t r i x . M o r e d e t a i l s a r e i n [ 2 9 ] , [ 2 3 5 ] ,

[ 2 6 3 ] , [ 1 9 7 ] , [ 2 1 2 ] b u t t h e i m p o r t a n t f a c t i s t h e A a n d B m a t r i c e s u s u a l l y c o n t a i n o n l y z e r o

a n d p l u s o r m i n u s u n i t y e n t r i e s a n d t h e C m a t r i x o n l y c o n t a i n s r a t i o n a l n u m b e r s . T h e o n l y

g e n e r a l m u l t i p l i c a t i o n s a r e t h o s e r e p r e s e n t e d b y

o. I n d e e d , i n t h e t h e o r e t i c a l r e s u l t s f r o m

c o m p u t a t i o n a l c o m p l e x i t y t h e o r y , t h e s e r e a l o r c o m p l e x m u l t i p l i c a t i o n s a r e u s u a l l y t h e o n l y

o n e s c o u n t e d . I n p r a c t i c a l a l g o r i t h m s , t h e r a t i o n a l m u l t i p l i c a t i o n s r e p r e s e n t e d b y C c o u l d

b e a l i m i t i n g f a c t o r .

T h e h (n) t e r m s a r e x e d f o r a d i g i t a l l t e r , o r t h e y r e p r e s e n t t h e W t e r m s f r o m M u l t i d i -

m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 ( 3 . 1 ) i f t h e c o n v o l u t i o n i s b e i n g u s e d t o c a l c u l a t e a

D F T . B e c a u s e o f t h i s , d = BH i n ( 7 . 3 ) c a n b e p r e c a l c u l a t e d a n d o n l y t h e A a n d C o p e r a -

t o r s r e p r e s e n t t h e m a t h e m a t i c s d o n e a t e x e c u t i o n o f t h e a l g o r i t h m . I n o r d e r t o e x p l o i t t h i s

f e a t u r e , i t w a s s h o w n [ 4 1 6 ] , [ 1 9 7 ] t h a t t h e p r o p e r t i e s o f ( 7 . 3 ) a l l o w t h e e x c h a n g e o f t h e m o r e

c o m p l i c a t e d o p e r a t o r C w i t h t h e s i m p l e r o p e r a t o r B . S p e c i c a l l y t h i s i s g i v e n b y

Y = C [AXoBH ] ( 7 . 4 )

Y ' = BT

AXoC T H '

( 7 . 5 )

w h e r e H ' h a s t h e s a m e e l e m e n t s a s H , b u t i n a p e r m u t e d o r d e r , a n d l i k e w i s e Y ' a n d Y . T h i s

v e r y i m p o r t a n t p r o p e r t y a l l o w s p r e c o m p u t i n g t h e m o r e c o m p l i c a t e d C T H ' i n ( 7 . 5 ) r a t h e r

t h a n BH a s i n ( 7 . 3 ) .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 51/254

4 5

B e c a u s e BH o r C T H ' c a n b e p r e c o m p u t e d , t h e b i l i n e a r f o r m o f ( 7 . 3 ) a n d ( 7 . 5 ) c a n b e w r i t t e n

a s a l i n e a r f o r m . I f a n M x M d i a g o n a l m a t r i x D i s f o r m e d f r o m d = C T H , o r i n t h e c a s e

o f ( 7 . 3 ) , d = BH , a s s u m i n g a c o m m u t a t i v e p r o p e r t y f o r o, ( 7 . 5 ) b e c o m e s

Y ' = BT DAX ( 7 . 6 )

a n d ( 7 . 3 ) b e c o m e s

Y = CDAX ( 7 . 7 )

I n m o s t c a s e s t h e r e i s n o r e a s o n n o t t o u s e t h e s a m e r e d u c t i o n o p e r a t i o n s o n X a n d H ,

t h e r e f o r e , B c a n b e t h e s a m e a s A a n d ( 7 . 6 ) t h e n b e c o m e s

Y ' = AT DAX ( 7 . 8 )

I n o r d e r t o i l l u s t r a t e h o w t h e r e s i d u e r e d u c t i o n i s c a r r i e d o u t a n d h o w t h e A m a t r i x i s

o b t a i n e d , t h e l e n g t h - 5 D F T a l g o r i t h m s t a r t e d i n T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g :

M a t r i x 1 ( 5 . 1 2 ) w i l l b e c o n t i n u e d . T h e D F T i s r s t c o n v e r t e d t o a l e n g t h - 4 c y c l i c c o n v o l u t i o n

b y t h e i n d e x p e r m u t a t i o n f r o m T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g : E q u a t i o n 3 ( 5 . 3 ) t o

g i v e t h e c y c l i c c o n v o l u t i o n i n T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g ( C h a p t e r 5 ) . T o a v o i d

c o n f u s i o n f r o m t h e p e r m u t e d o r d e r o f t h e d a t a x (n) i n T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g

( C h a p t e r 5 ) , t h e c y c l i c c o n v o l u t i o n w i l l r s t b e d e v e l o p e d w i t h o u t t h e p e r m u t a t i o n , u s i n g

t h e p o l y n o m i a l U (s)

U (s) = x (1) + x (3) s + x (4) s2 + x (2) s3 ( 7 . 9 )

U (s) = u (0) + u (1) s + u (2) s2 + u (3) s3 ( 7 . 1 0 )

a n d t h e n t h e r e s u l t s w i l l b e c o n v e r t e d b a c k t o t h e p e r m u t e d x (n). T h e l e n g t h - 4 c y c l i c

c o n v o l u t i o n i n t e r m s o f p o l y n o m i a l s i s

Y (s) = U (s) H (s) m o d

s4 − 1

( 7 . 1 1 )

a n d t h e m o d u l u s f a c t o r s i n t o t h r e e c y c l o t o m i c p o l y n o m i a l s

s4 − 1 =

s2 − 1

s2 + 1

( 7 . 1 2 )

= (s − 1) (s + 1)

s

2

+ 1 ( 7 . 1 3 )

= P 1 P 2 P 3 ( 7 . 1 4 )

B o t h U (s) a n d H (s) a r e r e d u c e d m o d u l o t h e s e t h r e e p o l y n o m i a l s . T h e r e d u c t i o n m o d u l o

P 1 a n d P 2 i s d o n e i n t w o s t a g e s . F i r s t i t i s d o n e m o d u l o (s2 − 1) , t h e n t h a t r e s i d u e i s f u r t h e r

r e d u c e d m o d u l o (s − 1) a n d (s + 1) .

U (s) = u0 + u1s + u2s2 + u3s3 ( 7 . 1 5 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 52/254

4 6

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

U ' (s) = ((U (s)))(s2−1) = (u0 + u2) + (u1 + u3) s ( 7 . 1 6 )

U 1 (s) =

U ' (s)

P 1= (u0 + u1 + u2 + u3) ( 7 . 1 7 )

U 2 (s) =

U ' (s)

P 2= (u0 − u1 + u2 − u3) ( 7 . 1 8 )

U 3 (s) = ((U (s)))P 3 = (u0 − u2) + (u1 − u3) s ( 7 . 1 9 )

T h e r e d u c t i o n i n ( 7 . 1 6 ) o f t h e d a t a p o l y n o m i a l ( 7 . 1 5 ) c a n b e d e n o t e d b y a m a t r i x o p e r a t i o n

o n a v e c t o r w h i c h h a s t h e d a t a a s e n t r i e s .

1 0 1 0

0 1 0 1

u0

u1

u2

u3

=

u0 + u2

u1 + u3

( 7 . 2 0 )

a n d t h e r e d u c t i o n i n ( 7 . 1 9 ) i s

1 0 −1 0

0 1 0−

1

u0

u1

u2

u3

=

u0 − u2

u1

−u3

( 7 . 2 1 )

C o m b i n i n g ( 7 . 2 0 ) a n d ( 7 . 2 1 ) g i v e s o n e o p e r a t o r

1 0 1 0

0 1 0 1

1 0 −1 0

0 1 0 −1

u0 + u2

u1 + u3

u0 − u2

u1 − u3

=

u0 + u2

u1 + u3

u0 − u2

u1 − u3

=

w0

w1

v0

v1

( 7 . 2 2 )

F u r t h e r r e d u c t i o n o f

v0 + v1si s n o t p o s s i b l e b e c a u s e

P 3 = s2

+ 1c a n n o t b e f a c t o r e d o v e r

t h e r a t i o n a l s . H o w e v e r s2 − 1 c a n b e f a c t o r e d i n t o P 1P 2 = (s − 1) (s + 1) a n d , t h e r e f o r e ,

w0 + w1s c a n b e f u r t h e r r e d u c e d a s w a s d o n e i n ( 7 . 1 7 ) a n d ( 7 . 1 8 ) b y

1 1

w0

w1

= w0 + w1 = u0 + u2 + u1 + u3 ( 7 . 2 3 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 53/254

4 7

1

−1

w0

w1

= w0 − w1 = u0 + u2 − u1 − u3 ( 7 . 2 4 )

C o m b i n i n g ( 7 . 2 2 ) , ( 7 . 2 3 ) a n d ( 7 . 2 4 ) g i v e s

1 1 0 0

1 −1 0 0

0 0 1 0

0 0 0 1

1 0 1 0

0 1 0 1

1 0 −1 0

0 1 0 −1

u0

u1

u2

u3

=

r0

r1

v0

v1

( 7 . 2 5 )

T h e s a m e r e d u c t i o n i s d o n e t o H (s) a n d t h e n t h e c o n v o l u t i o n o f ( 7 . 1 1 ) i s d o n e b y m u l t i p l y i n g

e a c h r e s i d u e p o l y n o m i a l o f

X (s)a n d

H (s)m o d u l o e a c h c o r r e s p o n d i n g c y c l o t o m i c f a c t o r o f

P (s) a n d n a l l y a r e c o m b i n a t i o n u s i n g t h e p o l y n o m i a l C h i n e s e R e m a i n d e r T h e o r e m ( C R T )

a s i n P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s : E q u a t i o n 9 ( 4 . 9 ) a n d P o l y n o m i a l D e s c r i p t i o n o f

S i g n a l s : E q u a t i o n 1 3 ( 4 . 1 3 ) .

Y (s) = K 1 (s) U 1 (s) H 1 (s) + K 2 (s) U 2 (s) H 2 (s) + K 3 (s) U 3 (s) H 3 (s) ( 7 . 2 6 )

m o d (s4 − 1)

w h e r e U 1 (s) = r1 a n d U 2 (s) = r2 a r e c o n s t a n t s a n d U 3 (s) = v0 + v1s i s a r s t d e g r e e

p o l y n o m i a l . U 1 t i m e s H 1 a n d U 2 t i m e s H 2 a r e e a s y , b u t m u l t i p l y i n g U 3 t i m e H 3 m o d u l o

(s2 + 1) i s m o r e d i c u l t .

T h e m u l t i p l i c a t i o n o f U 3 (s) t i m e s H 3 (s) c a n b e d o n e b y t h e T o o m - C o o k a l g o r i t h m [ 2 9 ] ,

[ 2 3 5 ] , [ 2 6 3 ] w h i c h c a n b e v i e w e d a s L a g r a n g e i n t e r p o l a t i o n o r p o l y n o m i a l m u l t i p l i c a t i o n

m o d u l o a s p e c i a l p o l y n o m i a l w i t h t h r e e a r b i t r a r y c o e c i e n t s . T o s i m p l i f y t h e a r i t h m e t i c ,

t h e c o n s t a n t s a r e c h o s e n t o b e p l u s a n d m i n u s o n e a n d z e r o . T h e d e t a i l s o f t h i s c a n b e f o u n d

i n [ 2 9 ] , [ 2 3 5 ] , [ 2 6 3 ] . F o r t h i s e x a m p l e i t c a n b e v e r i e d t h a t

((v0 + v1s) (h0 + h1s))s2+1 = (v0h0 − v1h1) + (v0h1 + v1h0) s ( 7 . 2 7 )

w h i c h b y t h e T o o m - C o o k a l g o r i t h m o r i n s p e c t i o n i s

1 −1 0

−1 −1 1

1 0

0 1

1 1

v0

v1

o

1 00 1

1 1

h0

h1

=

y0

y1

( 7 . 2 8 )

w h e r e o s i g n i e s p o i n t - b y - p o i n t m u l t i p l i c a t i o n . T h e t o t a l A m a t r i x i n ( 7 . 3 ) i s a c o m b i n a t i o n

o f ( 7 . 2 5 ) a n d ( 7 . 2 8 ) g i v i n g

AX = A1A2A3X ( 7 . 2 9 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 54/254

4 8

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

=

1 0 0 0

0 1 0 00 0 1 0

0 0 0 1

0 0 1 1

1 1 0 0

1 −1 0 0

0 0 1 0

0 0 0 1

1 0 1 0

0 1 0 1

1 0 −1 0

0 1 0 −1

u0

u1

u2

u3

=

r0

r1

v0

v1

( 7 . 3 0 )

w h e r e t h e m a t r i x A3 g i v e s t h e r e s i d u e r e d u c t i o n s2 − 1 a n d s2 + 1, t h e u p p e r l e f t - h a n d p a r t

o f A2 g i v e s t h e r e d u c t i o n m o d u l o s−1 a n d s + 1, a n d t h e l o w e r r i g h t - h a n d p a r t o f A 1 c a r r i e s

o u t t h e T o o m - C o o k a l g o r i t h m m o d u l o s2 + 1 w i t h t h e m u l t i p l i c a t i o n i n ( 7 . 5 ) . N o t i c e t h a t

b y c a l c u l a t i n g ( 7 . 3 0 ) i n t h e t h r e e s t a g e s , s e v e n a d d i t i o n s a r e r e q u i r e d . A l s o n o t i c e t h a t A1

i s n o t s q u a r e . I t i s t h i s e x p a n s i o n " t h a t c a u s e s m o r e t h a n N m u l t i p l i c a t i o n s t o b e r e q u i r e d

i n

oi n ( 7 . 5 ) o r

Di n ( 7 . 6 ) . T h i s s t a g e d r e d u c t i o n w i l l d e r i v e t h e

Ao p e r a t o r f o r ( 7 . 5 )

T h e m e t h o d d e s c r i b e d a b o v e i s v e r y s t r a i g h t - f o r w a r d f o r t h e s h o r t e r D F T l e n g t h s . F o r

N = 3, b o t h o f t h e r e s i d u e p o l y n o m i a l s a r e c o n s t a n t s a n d t h e m u l t i p l i c a t i o n g i v e n b y

o i n ( 7 . 3 ) i s t r i v i a l . F o r N = 5, w h i c h i s t h e e x a m p l e u s e d h e r e , t h e r e i s o n e r s t d e g r e e

p o l y n o m i a l m u l t i p l i c a t i o n r e q u i r e d b u t t h e T o o m - C o o k a l g o r i t h m u s e s s i m p l e c o n s t a n t s a n d ,

t h e r e f o r e , w o r k s w e l l a s i n d i c a t e d i n ( 7 . 2 8 ) . F o r N = 7, t h e r e a r e t w o r s t d e g r e e r e s i d u e

p o l y n o m i a l s w h i c h c a n e a c h b e m u l t i p l i e d b y t h e s a m e t e c h n i q u e s u s e d i n t h e N = 5 e x a m p l e .

U n f o r t u n a t e l y , f o r a n y l o n g e r l e n g t h s , t h e r e s i d u e p o l y n o m i a l s h a v e a n o r d e r o f t h r e e o r

g r e a t e r w h i c h c a u s e s t h e T o o m - C o o k a l g o r i t h m t o r e q u i r e c o n s t a n t s o f p l u s a n d m i n u s t w o

a n d w o r s e . F o r t h a t r e a s o n , t h e T o o m - C o o k m e t h o d i s n o t u s e d , a n d o t h e r t e c h n i q u e s s u c h

a s i n d e x m a p p i n g a r e u s e d t h a t r e q u i r e m o r e t h a n t h e m i n i m u m n u m b e r o f m u l t i p l i c a t i o n s ,

b u t d o n o t r e q u i r e a n e x c e s s i v e n u m b e r o f a d d i t i o n s . T h e r e s u l t i n g a l g o r i t h m s s t i l l h a v e t h e

s t r u c t u r e o f ( 7 . 8 ) . B l a h u t [ 2 9 ] a n d N u s s b a u m e r [ 2 6 3 ] h a v e a g o o d c o l l e c t i o n o f a l g o r i t h m s f o r

p o l y n o m i a l m u l t i p l i c a t i o n t h a t c a n b e u s e d w i t h t h e t e c h n i q u e s d i s c u s s e d h e r e t o c o n s t r u c t

a w i d e v a r i e t y o f D F T a l g o r i t h m s .

T h e c o n s t a n t s i n t h e d i a g o n a l m a t r i x D c a n b e f o u n d f r o m t h e C R T m a t r i x C i n ( 7 . 5 ) u s i n g

d = C T H ' f o r t h e d i a g o n a l t e r m s i n D . A s m e n t i o n e d a b o v e , f o r t h e s m a l l e r p r i m e l e n g t h s

o f 3 , 5 , a n d 7 t h i s w o r k s w e l l b u t f o r l o n g e r l e n g t h s t h e C R T b e c o m e s v e r y c o m p l i c a t e d . A n

a l t e r n a t e m e t h o d f o r n d i n g D u s e s t h e f a c t t h a t s i n c e t h e l i n e a r f o r m ( 7 . 6 ) o r ( 7 . 8 ) c a l c u l a t e s

t h e D F T , i t i s p o s s i b l e t o c a l c u l a t e a k n o w n D F T o f a g i v e n x (n) f r o m t h e d e n i t i o n o f t h e

D F T i n M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 ( 3 . 1 ) a n d , g i v e n t h e

Am a t r i x i n ( 7 . 8 ) ,

s o l v e f o r D b y s o l v i n g a s e t o f s i m u l t a n e o u s e q u a t i o n s . T h e d e t a i l s o f t h i s p r o c e d u r e a r e

d e s c r i b e d i n [ 1 9 7 ] .

A m o d i c a t i o n o f t h i s a p p r o a c h a l s o w o r k s f o r a l e n g t h w h i c h i s a n o d d p r i m e r a i s e d t o

s o m e p o w e r : N = P M . T h i s i s a b i t m o r e c o m p l i c a t e d [ 2 3 5 ] , [ 4 1 6 ] b u t h a s b e e n d o n e f o r

l e n g t h s o f 9 a n d 2 5 . F o r l o n g e r l e n g t h s , t h e c o n v e n t i o n a l C o o l e y - T u k e y t y p e - t w o i n d e x

m a p a l g o r i t h m s e e m s t o b e m o r e e c i e n t . F o r p o w e r s o f t w o , t h e r e i s n o p r i m i t i v e r o o t ,

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 55/254

4 9

a n d t h e r e f o r e , n o s i m p l e c o n v e r s i o n o f t h e D F T i n t o c o n v o l u t i o n . I t i s p o s s i b l e t o u s e t w o

g e n e r a t o r s [ 2 3 5 ] , [ 2 6 3 ] , [ 4 0 8 ] t o m a k e t h e c o n v e r s i o n a n d t h e r e e x i s t s a s e t o f l e n g t h 4 , 8 , a n d

1 6 D F T a l g o r i t h m s o f t h e f o r m i n ( 7 . 8 ) i n [ 2 3 5 ] .

I n T a b l e 7 . 1 a n o p e r a t i o n c o u n t o f s e v e r a l s h o r t D F T a l g o r i t h m s i s p r e s e n t e d . T h e s e a r e

p r a c t i c a l a l g o r i t h m s t h a t c a n b e u s e d a l o n e o r i n c o n j u n c t i o n w i t h t h e i n d e x m a p p i n g t o g i v e

l o n g e r D F T ' s a s s h o w n i n T h e P r i m e F a c t o r a n d W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m s

( C h a p t e r 1 0 ) . M o s t a r e o p t i m i z e d i n h a v i n g e i t h e r t h e t h e o r e t i c a l m i n i m u m n u m b e r o f m u l -

t i p l i c a t i o n s o r t h e m i n i m u m n u m b e r o f m u l t i p l i c a t i o n s w i t h o u t r e q u i r i n g a v e r y l a r g e n u m b e r

o f a d d i t i o n s . S o m e a l l o w o t h e r r e a s o n a b l e t r a d e - o s b e t w e e n n u m b e r s o f m u l t i p l i c a t i o n s a n d

a d d i t i o n s . T h e r e a r e t w o l i s t s o f t h e n u m b e r o f m u l t i p l i c a t i o n s . T h e r s t i s t h e n u m b e r o f

a c t u a l o a t i n g p o i n t m u l t i p l i c a t i o n s t h a t m u s t b e d o n e f o r t h a t l e n g t h D F T . S o m e o f t h e s e

( o n e o r t w o i n m o s t c a s e s ) w i l l b e b y r a t i o n a l c o n s t a n t s a n d t h e o t h e r s w i l l b e b y i r r a t i o n a l

c o n s t a n t s . T h e s e c o n d l i s t i s t h e t o t a l n u m b e r o f m u l t i p l i c a t i o n s g i v e n i n t h e d i a g o n a l m a t r i x

D i n ( 7 . 8 ) . A t l e a s t o n e o f t h e s e w i l l b e u n i t y ( t h e o n e a s s o c i a t e d w i t h X (0)) a n d i n s o m e

c a s e s s e v e r a l w i l l b e u n i t y ( f o r N = 2M ) . T h e s e c o n d l i s t i s i m p o r t a n t i n p r o g r a m m i n g t h e

W F T A i n T h e P r i m e F a c t o r a n d W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m : T h e W i n o g r a d

F o u r i e r T r a n s f o r m A l g o r i t h m ( S e c t i o n 1 0 . 2 : T h e W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m ) .

L e n g t h N M u l t N o n - o n e M u l t T o t a l A d d s

2 0 4 4

3 4 6 1 2

4 0 8 1 6

5 1 0 1 2 3 4

7 1 6 1 8 7 2

8 4 1 6 5 2

9 2 0 2 2 8 4

1 1 4 0 4 2 1 6 8

1 3 4 0 4 2 1 8 8

1 6 2 0 3 6 1 4 8

1 7 7 0 7 2 3 1 4

1 9 7 6 7 8 3 7 2

2 5 1 3 2 1 3 4 4 2 0

3 2 6 8 - 3 8 8

T a b l e 7 . 1 : N u m b e r o f R e a l M u l t i p l i c a t i o n s a n d A d d i t i o n s f o r a L e n g t h - N D F T o f C o m p l e x

D a t a

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 56/254

5 0

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

B e c a u s e o f t h e s t r u c t u r e o f t h e s h o r t D F T s , t h e n u m b e r o f r e a l m u l t i p l i c a t i o n s r e q u i r e d f o r

t h e D F T o f r e a l d a t a i s e x a c t l y h a l f t h a t r e q u i r e d f o r c o m p l e x d a t a . T h e n u m b e r o f r e a l

a d d i t i o n s r e q u i r e d i s s l i g h t l y l e s s t h a n h a l f t h a t r e q u i r e d f o r c o m p l e x d a t a b e c a u s e (N

−1)

o f t h e a d d i t i o n s n e e d e d w h e n N i s p r i m e a d d a r e a l t o a n i m a g i n a r y , a n d t h a t i s n o t a c t u a l l y

p e r f o r m e d . W h e n N = 2m, t h e r e a r e (N − 2) o f t h e s e p s e u d o a d d i t i o n s . T h e s p e c i a l c a s e

f o r r e a l d a t a i s d i s c u s s e d i n [ 1 0 1 ] , [ 1 7 7 ] , [ 3 5 6 ] .

T h e s t r u c t u r e o f t h e s e a l g o r i t h m s a r e i n t h e f o r m o f X ' = CDAX o r BT DAX o r AT DAX f r o m ( 7 . 5 ) a n d ( 7 . 8 ) . T h e A a n d B m a t r i c e s a r e g e n e r a l l y M b y N w i t h M ≥ N a n d h a v e

e l e m e n t s t h a t a r e i n t e g e r s , g e n e r a l l y 0 o r ±1. A p i c t o r i a l d e s c r i p t i o n i s g i v e n i n F i g u r e 7 . 1 .

1.000

--1.250

-- j 1.539

j 0.588

j 0.362

0.559

F i g u r e 7 . 1 : F l o w G r a p h f o r t h e L e n g t h - 5 D F T

F i g u r e 7 . 2 : B l o c k D i a g r a m o f a W i n o g r a d S h o r t D F T

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 57/254

5 1

T h e o w g r a p h i n F i g u r e 7 . 1 s h o u l d b e c o m p a r e d w i t h t h e m a t r i x d e s c r i p t i o n o f ( 7 . 8 ) a n d

( 7 . 3 0 ) , a n d w i t h t h e p r o g r a m s i n [ 2 9 ] , [ 2 3 5 ] , [ 6 3 ] , [ 2 6 3 ] a n d t h e a p p e n d i c e s . T h e s h a p e i n

F i g u r e 7 . 2 i l l u s t r a t e s t h e e x p a n s i o n o f t h e d a t a b y A. T h a t i s t o s a y , AX h a s m o r e e n t r i e s

t h a n X b e c a u s e M > N . T h e A o p e r a t o r c o n s i s t s o f a d d i t i o n s , t h e D o p e r a t o r g i v e s t h e M m u l t i p l i c a t i o n s ( s o m e b y o n e ) a n d AT

c o n t r a c t s t h e d a t a b a c k t o N v a l u e s w i t h a d d i t i o n s

o n l y . M i s o n e h a l f t h e s e c o n d l i s t o f m u l t i p l i e s i n T a b l e 7 . 1 .

A n i m p o r t a n t c h a r a c t e r i s t i c o f t h e D o p e r a t o r i n t h e c a l c u l a t i o n o f t h e D F T i s i t s e n t r i e s

a r e e i t h e r p u r e l y r e a l o r i m a g i n a r y . T h e r e d u c t i o n o f t h e W v e c t o r b y

s(N −1)/2 − 1

a n d

s(N −1)/2 + 1

s e p a r a t e s t h e r e a l a n d t h e i m a g i n a r y c o n s t a n t s . T h i s i s d i s c u s s e d i n [ 4 1 6 ] ,

[ 1 9 7 ] . T h e n u m b e r o f m u l t i p l i c a t i o n s f o r c o m p l e x d a t a i s o n l y t w i c e t h o s e n e c e s s a r y f o r r e a l

d a t a , n o t f o u r t i m e s .

A l t h o u g h t h i s d i s c u s s i o n h a s b e e n o n t h e c a l c u l a t i o n o f t h e D F T , v e r y s i m i l a r r e s u l t s a r e

t r u e f o r t h e c a l c u l a t i o n o f c o n v o l u t i o n a n d c o r r e l a t i o n , a n d t h e s e w i l l b e f u r t h e r d e v e l o p e d i n

A l g o r i t h m s f o r D a t a w i t h R e s t r i c t i o n s ( C h a p t e r 1 2 ) . T h e AT DA s t r u c t u r e a n d t h e p i c t u r e

i n F i g u r e 7 . 2 a r e t h e s a m e f o r c o n v o l u t i o n . A l g o r i t h m s a n d o p e r a t i o n c o u n t s c a n b e f o u n d

i n [ 2 9 ] , [ 2 6 3 ] , [ 7 ] .

7 . 1 T h e B i l i n e a r S t r u c t u r e

T h e b i l i n e a r f o r m i n t r o d u c e d i n ( 7 . 3 ) a n d t h e r e l a t e d l i n e a r f o r m i n ( 7 . 6 ) a r e v e r y p o w e r f u l

d e s c r i p t i o n s o f b o t h t h e D F T a n d c o n v o l u t i o n .

B i l i n e a r :

Y = C [AX o BH ]( 7 . 3 1 )

L i n e a r : Y = CDA X ( 7 . 3 2 )

S i n c e ( 7 . 3 1 ) i s a b i l i n e a r o p e r a t i o n d e n e d i n t e r m s o f a s e c o n d b i l i n e a r o p e r a t o r o , t h i s

f o r m u l a t i o n c a n b e n e s t e d . F o r e x a m p l e i f o i s i t s e l f d e n e d i n t e r m s o f a s e c o n d b i l i n e a r

o p e r a t o r @ , b y

X o H = C '

A' X @ B ' H

( 7 . 3 3 )

t h e n ( 7 . 3 1 ) b e c o m e s

Y = CC '

A' AX @ B ' BH

( 7 . 3 4 )

F o r c o n v o l u t i o n , i f A r e p r e s e n t s t h e p o l y n o m i a l r e s i d u e r e d u c t i o n m o d u l o t h e c y c l o t o m i c

p o l y n o m i a l s , t h e n A i s s q u a r e ( e . g . ( 7 . 2 5 ) a n d o r e p r e s e n t s m u l t i p l i c a t i o n o f t h e r e s i d u e

p o l y n o m i a l s m o d u l o t h e c y c l o t o m i c p o l y n o m i a l s . I f A r e p r e s e n t s t h e r e d u c t i o n m o d u l o t h e

c y c l o t o m i c p o l y n o m i a l s p l u s t h e T o o m - C o o k r e d u c t i o n a s w a s t h e c a s e i n t h e e x a m p l e o f

( 7 . 3 0 ) , t h e n A i s N x M a n d o i s t e r m - b y - t e r m s i m p l e s c a l a r m u l t i p l i c a t i o n . I n t h i s c a s e AX c a n b e t h o u g h t o f a s a t r a n s f o r m o f X a n d C i s t h e i n v e r s e t r a n s f o r m . T h i s i s c a l l e d a

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 58/254

5 2

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

r e c t a n g u l a r t r a n s f o r m [ 7 ] b e c a u s e A i s r e c t a n g u l a r . T h e t r a n s f o r m r e q u i r e s o n l y a d d i t i o n s

a n d c o n v o l u t i o n i s d o n e w i t h M m u l t i p l i c a t i o n s . T h e o t h e r e x t r e m e i s w h e n A r e p r e s e n t s

r e d u c t i o n o v e r t h e N c o m p l e x r o o t s o f sN

−1. I n t h i s c a s e A i s t h e D F T i t s e l f , a s i n t h e

e x a m p l e o f ( 4 3 ) , a n d o i s p o i n t b y p o i n t c o m p l e x m u l t i p l i c a t i o n a n d C i s t h e i n v e r s e D F T .

A t r i v i a l c a s e i s w h e r e A, B a n d C a r e i d e n t i t y o p e r a t o r s a n d o i s t h e c y c l i c c o n v o l u t i o n .

T h i s v e r y g e n e r a l a n d e x i b l e b i l i n e a r f o r m u l a t i o n c o u p l e d w i t h t h e i d e a o f n e s t i n g i n ( 7 . 3 4 )

g i v e s a d e s c r i p t i o n o f m o s t f o r m s o f c o n v o l u t i o n .

7 . 2 W i n o g r a d ' s C o m p l e x i t y T h e o r e m s

B e c a u s e W i n o g r a d ' s w o r k [ 2 9 ] , [ 2 3 5 ] , [ 4 1 6 ] , [ 4 0 8 ] , [ 4 1 3 ] , [ 4 1 9 ] h a s b e e n t h e f o u n d a t i o n o f

t h e m o d e r n r e s u l t s i n e c i e n t c o n v o l u t i o n a n d D F T a l g o r i t h m s , i t i s w o r t h w h i l e t o l o o k a t

h i s t h e o r e t i c a l c o n c l u s i o n s o n o p t i m a l a l g o r i t h m s . M o s t o f h i s r e s u l t s a r e s t a t e d i n t e r m s o f

p o l y n o m i a l m u l t i p l i c a t i o n a s P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s : E q u a t i o n 3 ( 4 . 3 ) o r ( 7 . 1 1 ) .

T h e m e a s u r e o f c o m p u t a t i o n a l c o m p l e x i t y i s u s u a l l y t h e n u m b e r o f m u l t i p l i c a t i o n s , a n d o n l y

c e r t a i n m u l t i p l i c a t i o n s a r e c o u n t e d . T h i s m u s t b e u n d e r s t o o d i n o r d e r n o t t o m i s i n t e r p r e t

t h e r e s u l t s .

T h i s s e c t i o n w i l l s i m p l y g i v e a s t a t e m e n t o f t h e p e r t i n e n t r e s u l t s a n d w i l l n o t a t t e m p t t o

d e r i v e o r p r o v e a n y t h i n g . A s h o r t i n t e r p r e t a t i o n o f e a c h t h e o r e m w i l l b e g i v e n t o r e l a t e

t h e r e s u l t t o t h e a l g o r i t h m s d e v e l o p e d i n t h i s c h a p t e r . T h e i n d i c a t e d r e f e r e n c e s s h o u l d b e

c o n s u l t e d f o r b a c k g r o u n d a n d d e t a i l .

T h e o r e m 1 [ 4 1 6 ] G i v e n t w o p o l y n o m i a l s , x (s) a n d h (s), o f d e g r e e N a n d M r e s p e c t i v e l y ,

e a c h w i t h i n d e t e r m i n a t e c o e c i e n t s t h a t a r e e l e m e n t s o f a e l d H , N +M +1 m u l t i p l i c a t i o n s

a r e n e c e s s a r y t o c o m p u t e t h e c o e c i e n t s o f t h e p r o d u c t p o l y n o m i a l x (s) h (s). M u l t i p l i c a t i o n

b y e l e m e n t s o f t h e e l d G ( t h e e l d o f c o n s t a n t s ) , w h i c h i s c o n t a i n e d i n H , a r e n o t c o u n t e d

a n d G c o n t a i n s a t l e a s t N + M d i s t i n c t e l e m e n t s .

T h e u p p e r b o u n d i n t h i s t h e o r e m c a n b e r e a l i z e d b y c h o o s i n g a n a r b i t r a r y m o d u l u s p o l y n o -

m i a l P (s) o f d e g r e e N +M +1 c o m p o s e d o f N +M +1 d i s t i n c t l i n e a r p o l y n o m i a l f a c t o r s w i t h

c o e c i e n t s i n G w h i c h , s i n c e i t s d e g r e e i s g r e a t e r t h a n t h e p r o d u c t x (s) h (s) , h a s n o e e c t

o n t h e p r o d u c t , a n d b y r e d u c i n g x (s) a n d h (s) t o N + M +1 r e s i d u e s m o d u l o t h e N +M + 1f a c t o r s o f P (s ) . T h e s e r e s i d u e s a r e m u l t i p l i e d b y e a c h o t h e r , r e q u i r i n g N + M + 1 m u l -

t i p l i c a t i o n s , a n d t h e r e s u l t s r e c o m b i n e d u s i n g t h e C h i n e s e r e m a i n d e r t h e o r e m ( C R T ) . T h e

o p e r a t i o n s r e q u i r e d i n t h e r e d u c t i o n a n d r e c o m b i n a t i o n a r e n o t c o u n t e d , w h i l e t h e r e s i d u e

m u l t i p l i c a t i o n s a r e . S i n c e t h e m o d u l u s P (s) i s a r b i t r a r y , i t s f a c t o r s a r e c h o s e n t o b e s i m p l e

s o a s t o m a k e t h e r e d u c t i o n a n d C R T s i m p l e . F a c t o r s o f z e r o , p l u s a n d m i n u s u n i t y , a n d

i n n i t y a r e t h e s i m p l e s t . P l u s a n d m i n u s t w o a n d o t h e r f a c t o r s c o m p l i c a t e t h e a c t u a l c a l c u -

l a t i o n s c o n s i d e r a b l y , b u t t h e t h e o r e m d o e s n o t t a k e t h a t i n t o a c c o u n t . T h i s a l g o r i t h m i s a

f o r m o f t h e T o o m - C o o k a l g o r i t h m a n d o f L a g r a n g e i n t e r p o l a t i o n [ 2 9 ] , [ 2 3 5 ] , [ 2 6 3 ] , [ 4 1 6 ] . F o r

o u r a p p l i c a t i o n s , H i s t h e e l d o f r e a l s a n d G t h e e l d o f r a t i o n a l s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 59/254

5 3

T h e o r e m 2 [ 4 1 6 ] I f a n a l g o r i t h m e x i s t s w h i c h c o m p u t e s x (s) h (s) i n N + M + 1 m u l t i p l i -

c a t i o n s , a l l b u t o n e o f i t s m u l t i p l i c a t i o n s t e p s m u s t n e c e s s a r i l y b e o f t h e f o r m

mk =

gk'

+ x (gk)

(gk” + h (gk)) f o r k = 0, 1,...,N + M ( 7 . 3 5 )

w h e r e gk a r e d i s t i n c t e l e m e n t s o f G; a n d g '

k a n d gk” a r e a r b i t r a r y e l e m e n t s o f G

T h i s t h e o r e m s t a t e s t h a t t h e s t r u c t u r e o f a n o p t i m a l a l g o r i t h m i s e s s e n t i a l l y u n i q u e a l t h o u g h

t h e f a c t o r s o f P (s) m a y b e c h o s e n a r b i t r a r i l y .

T h e o r e m 3 [ 4 1 6 ] L e t P (s ) b e a p o l y n o m i a l o f d e g r e e N a n d b e o f t h e f o r m P (s) = Q (s) k ,

w h e r e Q (s) i s a n i r r e d u c i b l e p o l y n o m i a l w i t h c o e c i e n t s i n G a n d k i s a p o s i t i v e i n t e g e r .

L e t x (s) a n d h (s ) b e t w o p o l y n o m i a l s o f d e g r e e a t l e a s t N − 1 w i t h c o e c i e n t s f r o m H ,

t h e n 2N − 1 m u l t i p l i c a t i o n s a r e r e q u i r e d t o c o m p u t e t h e p r o d u c t x (s) h (s) m o d u l o P (s) .

T h i s t h e o r e m i s s i m i l a r t o T h e o r e m 1 ( p . 5 2 ) w i t h t h e o p e r a t i o n s o f t h e r e d u c t i o n o f t h e

p r o d u c t m o d u l o P (s ) n o t b e i n g c o u n t e d .

T h e o r e m 4 [ 4 1 6 ] A n y a l g o r i t h m t h a t c o m p u t e s t h e p r o d u c t x (s) h (s ) m o d u l o P (s ) a c c o r d -

i n g t o t h e c o n d i t i o n s s t a t e d i n T h e o r e m 3 a n d r e q u i r e s 2N −1 m u l t i p l i c a t i o n s w i l l n e c e s s a r i l y

b e o f o n e o f t h r e e s t r u c t u r e s , e a c h o f w h i c h h a s t h e f o r m o f T h e o r e m 2 i n t e r n a l l y .

A s i n T h e o r e m 2 ( p . 5 2 ) , t h i s t h e o r e m s t a t e s t h a t o n l y a l i m i t e d n u m b e r o f p o s s i b l e s t r u c t u r e s

e x i s t f o r o p t i m a l a l g o r i t h m s .

T h e o r e m 5 [ 4 1 6 ] I f t h e m o d u l u s p o l y n o m i a l P (s) h a s d e g r e e N a n d i s n o t i r r e d u c i b l e , i t

c a n b e w r i t t e n i n a u n i q u e f a c t o r e d f o r m P (s) = P m1

1 (s) P m2

2 (s) ...P mkk (s) w h e r e e a c h o f t h e

P i (s) a r e i r r e d u c i b l e o v e r t h e a l l o w e d c o e c i e n t e l d G. 2N −k m u l t i p l i c a t i o n s a r e n e c e s s a r y

t o c o m p u t e t h e p r o d u c t x (s) h (s) m o d u l o P (s) w h e r e x (s) a n d h (s) h a v e c o e c i e n t s i n

H a n d a r e o f d e g r e e a t l e a s t N − 1. A l l a l g o r i t h m s t h a t c a l c u l a t e t h i s p r o d u c t i n 2N − km u l t i p l i c a t i o n s m u s t b e o f a f o r m w h e r e e a c h o f t h e k r e s i d u e p o l y n o m i a l s o f x (s) a n d h (s)a r e s e p a r a t e l y m u l t i p l i e d m o d u l o t h e f a c t o r s o f P (s) v i a t h e C R T .

C o r o l l a r y : I f t h e m o d u l u s p o l y n o m i a l i s P (s) = sN − 1, t h e n 2N − t (N ) m u l t i p l i c a t i o n s a r e

n e c e s s a r y t o c o m p u t e x (s) h (s) m o d u l o P (s), w h e r e t (N ) i s t h e n u m b e r o f p o s i t i v e d i v i s o r s

o f N .

T h e o r e m 5 ( p . 5 3 ) i s v e r y g e n e r a l s i n c e i t a l l o w s a g e n e r a l m o d u l u s p o l y n o m i a l . T h e p r o o f o f

t h e u p p e r b o u n d i n v o l v e s r e d u c i n g

x (s)a n d

h (s)m o d u l o t h e

kf a c t o r s o f

P (s). E a c h o f t h e

k i r r e d u c i b l e r e s i d u e p o l y n o m i a l s i s t h e n m u l t i p l i e d u s i n g t h e m e t h o d o f T h e o r e m 4 ( p . 5 3 )

r e q u i r i n g 2Ni−1 m u l t i p l i e s a n d t h e p r o d u c t s a r e c o m b i n e d u s i n g t h e C R T . T h e t o t a l n u m b e r

o f m u l t i p l i e s f r o m t h e k p a r t s i s 2N −k . T h e t h e o r e m a l s o s t a t e s t h e s t r u c t u r e o f t h e s e o p t i m a l

a l g o r i t h m s i s e s s e n t i a l l y u n i q u e . T h e s p e c i a l c a s e o f P (s) = sN − 1 i s i n t e r e s t i n g s i n c e i t

c o r r e s p o n d s t o c y c l i c c o n v o l u t i o n a n d , a s s t a t e d i n t h e c o r o l l a r y , k i s e a s i l y d e t e r m i n e d . T h e

f a c t o r s o f sN −1 a r e c a l l e d c y c l o t o m i c p o l y n o m i a l s a n d h a v e i n t e r e s t i n g p r o p e r t i e s [ 2 9 ] , [ 2 3 5 ] ,

[ 2 6 3 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 60/254

5 4

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

T h e o r e m 6 [ 4 1 6 ] , [ 4 0 8 ] C o n s i d e r c a l c u l a t i n g t h e D F T o f a p r i m e l e n g t h r e a l - v a l u e d n u m b e r

s e q u e n c e . I f G i s c h o s e n a s t h e e l d o f r a t i o n a l n u m b e r s , t h e n u m b e r o f r e a l m u l t i p l i c a t i o n s

n e c e s s a r y t o c a l c u l a t e a l e n g t h - P D F T i s u (DF T (N )) = 2P

−3

−t (P

−1) w h e r e t (P

−1)

i s t h e n u m b e r o f d i v i s o r s o f P − 1.

T h i s t h e o r e m n o t o n l y g i v e s a l o w e r l i m i t o n a n y p r a c t i c a l p r i m e l e n g t h D F T a l g o r i t h m ,

i t a l s o g i v e s p r a c t i c a l a l g o r i t h m s f o r N = 3, 5, a n d 7 . C o n s i d e r t h e o p e r a t i o n c o u n t s i n

T a b l e 7 . 1 t o u n d e r s t a n d t h i s t h e o r e m . I n a d d i t i o n t o t h e r e a l m u l t i p l i c a t i o n s c o u n t e d b y

c o m p l e x i t y t h e o r y , e a c h o p t i m a l p r i m e - l e n g t h a l g o r i t h m w i l l h a v e o n e m u l t i p l i c a t i o n b y a

r a t i o n a l c o n s t a n t . T h a t c o n s t a n t c o r r e s p o n d s t o t h e r e s i d u e m o d u l o ( s - 1 ) w h i c h a l w a y s

e x i s t s f o r t h e m o d u l u s P (s) = sN −1 − 1. I n a p r a c t i c a l a l g o r i t h m , t h i s m u l t i p l i c a t i o n m u s t

b e c a r r i e d o u t , a n d t h a t a c c o u n t s f o r t h e d i e r e n c e i n t h e p r e d i c t i o n o f T h e o r e m 6 ( p . 5 4 )

a n d c o u n t i n T a b l e 7 . 1 . I n a d d i t i o n , t h e r e i s a n o t h e r o p e r a t i o n t h a t f o r c e r t a i n a p p l i c a t i o n s

m u s t b e c o u n t e d a s a m u l t i p l i c a t i o n . T h a t i s t h e c a l c u l a t i o n o f t h e z e r o f r e q u e n c y t e r m

X (0) i n t h e r s t r o w o f t h e e x a m p l e i n T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g : M a t r i x 1

( 5 . 1 2 ) . F o r a p p l i c a t i o n s t o t h e W F T A d i s c u s s e d i n T h e P r i m e F a c t o r a n d W i n o g r a d F o u r i e r

T r a n s f o r m A l g o r i t h m s : T h e W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m ( S e c t i o n 1 0 . 2 : T h e

W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m ) , t h a t o p e r a t i o n m u s t b e c o u n t e d a s a m u l t i p l y .

F o r l e n g t h s l o n g e r t h a n 7 , o p t i m a l a l g o r i t h m s r e q u i r e t o o m a n y a d d i t i o n s , s o c o m p r o m i s e

s t r u c t u r e s a r e u s e d .

T h e o r e m 7 [ 4 1 9 ] , [ 1 7 1 ] I f G i s c h o s e n a s t h e e l d o f r a t i o n a l n u m b e r s , t h e n u m b e r o f r e a l

m u l t i p l i c a t i o n s n e c e s s a r y t o c a l c u l a t e a l e n g t h - N D F T w h e r e N i s a p r i m e n u m b e r r a i s e d t o

a n i n t e g e r p o w e r : N = P m , i s g i v e n b y

u (DF T (N )) = 2N − ((m2 + m) /2) t (P − 1) − m − 1 ( 7 . 3 6 )

w h e r e t (P − 1) i s t h e n u m b e r o f d i v i s o r s o f (P − 1) .

T h i s r e s u l t s e e m s t o b e p r a c t i c a l l y a c h i e v a b l e o n l y f o r N = 9, o r p e r h a p s 2 5 . I n t h e c a s e o f

N = 9, t h e r e a r e t w o r a t i o n a l m u l t i p l i e s t h a t m u s t b e c a r r i e d o u t a n d a r e c o u n t e d i n T a b l e

7 . 1 b u t a r e n o t p r e d i c t e d b y T h e o r e m 7 ( p . 5 4 ) . E x p e r i e n c e [ 1 8 7 ] i n d i c a t e s t h a t e v e n f o r

N = 25 , a n a l g o r i t h m b a s e d o n a C o o l e y - T u k e y F F T u s i n g a t y p e 2 i n d e x m a p g i v e s a n

o v e r - a l l m o r e b a l a n c e d r e s u l t .

T h e o r e m 8 [ 1 7 1 ] I f G i s c h o s e n a s t h e e l d o f r a t i o n a l n u m b e r s , t h e n u m b e r o f r e a l m u l t i -

p l i c a t i o n s n e c e s s a r y t o c a l c u l a t e a l e n g t h - N D F T w h e r e N = 2m i s g i v e n b y

u (DF T (N )) = 2N − m2 − m − 2 ( 7 . 3 7 )

T h i s r e s u l t i s n o t p r a c t i c a l l y u s e f u l b e c a u s e t h e n u m b e r o f a d d i t i o n s n e c e s s a r y t o r e a l i z e t h i s

m i n i m u m o f m u l t i p l i c a t i o n s b e c o m e s v e r y l a r g e f o r l e n g t h s g r e a t e r t h a n 1 6 . N e v e r t h e l e s s ,

i t p r o v e s t h e m i n i m u m n u m b e r o f m u l t i p l i c a t i o n s r e q u i r e d o f a n o p t i m a l a l g o r i t h m i s a

l i n e a r f u n c t i o n o f N r a t h e r t h a n o f NlogN w h i c h i s t h a t r e q u i r e d o f p r a c t i c a l a l g o r i t h m s .

T h e b e s t p r a c t i c a l p o w e r - o f - t w o a l g o r i t h m s e e m s t o t h e S p l i t - R a d i x [ 1 0 5 ] F F T d i s c u s s e d

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 61/254

5 5

i n T h e C o o l e y - T u k e y F a s t F o u r i e r T r a n s f o r m A l g o r i t h m : T h e S p l i t - R a d i x F F T A l g o r i t h m

( S e c t i o n 9 . 2 : T h e S p l i t - R a d i x F F T A l g o r i t h m ) .

A l l o f t h e s e t h e o r e m s u s e i d e a s b a s e d o n r e s i d u e r e d u c t i o n , m u l t i p l i c a t i o n o f t h e r e s i d u e s ,

a n d t h e n c o m b i n a t i o n b y t h e C R T . I t i s r e m a r k a b l e t h a t t h i s a p p r o a c h n d s t h e m i n i m u m

n u m b e r o f r e q u i r e d m u l t i p l i c a t i o n s b y a c o n s t r u c t i v e p r o o f w h i c h g e n e r a t e s a n a l g o r i t h m

t h a t a c h i e v e s t h i s m i n i m u m ; a n d t h e s t r u c t u r e o f t h e o p t i m a l a l g o r i t h m i s , w i t h i n c e r t a i n

v a r i a t i o n s , u n i q u e . F o r s h o r t e r l e n g t h s , t h e o p t i m a l a l g o r i t h m s g i v e p r a c t i c a l p r o g r a m s . F o r

l o n g e r l e n g t h s t h e u n c o u n t e d o p e r a t i o n s i n v o l v e d w i t h t h e m u l t i p l i c a t i o n o f t h e h i g h e r d e g r e e

r e s i d u e p o l y n o m i a l s b e c o m e v e r y l a r g e a n d i m p r a c t i c a l . I n t h o s e c a s e s , e c i e n t s u b o p t i m a l

a l g o r i t h m s c a n b e g e n e r a t e d b y u s i n g t h e s a m e r e s i d u e r e d u c t i o n a s f o r t h e o p t i m a l c a s e , b u t

b y u s i n g m e t h o d s o t h e r t h a n t h e T o o m - C o o k a l g o r i t h m o f T h e o r e m 1 ( p . 5 2 ) t o m u l t i p l y

t h e r e s i d u e p o l y n o m i a l s .

P r a c t i c a l l o n g D F T a l g o r i t h m s a r e p r o d u c e d b y c o m b i n i n g s h o r t p r i m e l e n g t h o p t i m a l D F T ' s

w i t h t h e T y p e 1 i n d e x m a p f r o m M u l t i d i m e n s i o n a l I n d e x M a p p i n g ( C h a p t e r 3 ) t o g i v e t h e

P r i m e F a c t o r A l g o r i t h m ( P F A ) a n d t h e W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m ( W F T A )

d i s c u s s e d i n T h e P r i m e F a c t o r a n d W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m s ( C h a p t e r 1 0 ) .

I t i s i n t e r e s t i n g t o n o t e t h a t t h e i n d e x m a p p i n g t e c h n i q u e i s u s e f u l i n s i d e t h e s h o r t D F T

a l g o r i t h m s t o r e p l a c e t h e T o o m - C o o k a l g o r i t h m a n d o u t s i d e t o c o m b i n e t h e s h o r t D F T ' s t o

c a l c u l a t e l o n g D F T ' s .

7 . 3 T h e A u t o m a t i c G e n e r a t i o n o f W i n o g r a d ' s S h o r t D F T s

b y I v a n S e l e s n i c k , P o l y t e c h n i c I n s t i t u t e o f N e w Y o r k U n i v e r s i t y

7 . 3 . 1 I n t r o d u c t i o n

E c i e n t p r i m e l e n g t h D F T s a r e i m p o r t a n t f o r t w o r e a s o n s . A p a r t i c u l a r a p p l i c a t i o n m a y

r e q u i r e a p r i m e l e n g t h D F T a n d s e c o n d l y , t h e m a x i m u m l e n g t h a n d t h e v a r i e t y o f l e n g t h s

o f a P F A o r W F T A a l g o r i t h m d e p e n d u p o n t h e a v a i l a b i l i t y o f p r i m e l e n g t h m o d u l e s .

T h i s [ 3 2 9 ] , [ 3 3 5 ] , [ 3 3 1 ] , [ 3 3 3 ] d i s c u s s e s a u t o m a t i o n o f t h e p r o c e s s W i n o g r a d u s e d f o r c o n -

s t r u c t i n g p r i m e l e n g t h F F T s [ 2 9 ] , [ 1 8 7 ] f o r N < 7 a n d t h a t J o h n s o n a n d B u r r u s [ 1 9 7 ]

e x t e n d e d t o N < 19. I t a l s o d e s c r i b e s a p r o g r a m t h a t w i l l d e s i g n a n y p r i m e l e n g t h F F T i n

p r i n c i p l e , a n d w i l l a l s o a u t o m a t i c a l l y g e n e r a t e t h e a l g o r i t h m a s a C p r o g r a m a n d d r a w t h e

c o r r e s p o n d i n g o w g r a p h .

W i n o g r a d ' s a p p r o a c h u s e s R a d e r ' s m e t h o d t o c o n v e r t a p r i m e l e n g t h D F T i n t o a P −1 l e n g t h

c y c l i c c o n v o l u t i o n , p o l y n o m i a l r e s i d u e r e d u c t i o n t o d e c o m p o s e t h e p r o b l e m i n t o s m a l l e r c o n -

v o l u t i o n s [ 2 9 ] , [ 2 6 3 ] , a n d t h e T o o m - C o o k a l g o r i t h m [ 2 9 ] , [ 2 5 2 ] . T h e C h i n e s e R e m a i n d e r

T h e o r e m ( C R T ) f o r p o l y n o m i a l s i s t h e n u s e d t o r e c o m b i n e t h e s h o r t e r c o n v o l u t i o n s . U n f o r -

t u n a t e l y , t h e d e s i g n p r o c e d u r e d e r i v e d d i r e c t l y f r o m W i n o g r a d ' s t h e o r y b e c o m e s c u m b e r s o m e

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 62/254

5 6

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

f o r l o n g e r l e n g t h D F T s , a n d t h i s h a s o f t e n p r e v e n t e d t h e d e s i g n o f D F T p r o g r a m s f o r l e n g t h s

g r e a t e r t h a n 1 9 .

H e r e w e u s e t h r e e m e t h o d s t o f a c i l i t a t e t h e c o n s t r u c t i o n o f p r i m e l e n g t h F F T m o d u l e s . F i r s t ,

t h e m a t r i x e x c h a n g e p r o p e r t y [ 2 9 ] , [ 1 9 7 ] , [ 2 1 8 ] i s u s e d s o t h a t t h e t r a n s p o s e o f t h e r e d u c t i o n

o p e r a t o r c a n b e u s e d r a t h e r t h a n t h e m o r e c o m p l i c a t e d C R T r e c o n s t r u c t i o n o p e r a t o r . T h i s i s

t h e n c o m b i n e d w i t h t h e n u m e r i c a l m e t h o d [ 1 9 7 ] f o r o b t a i n i n g t h e m u l t i p l i c a t i o n c o e c i e n t s

r a t h e r t h a n t h e d i r e c t u s e o f t h e C R T . W e a l s o d e v i a t e f r o m t h e T o o m - C o o k a l g o r i t h m ,

b e c a u s e i t r e q u i r e s t o o m a n y a d d i t i o n s f o r t h e l e n g t h s i n w h i c h w e a r e i n t e r e s t e d . I n s t e a d w e

u s e a n i t e r a t e d p o l y n o m i a l m u l t i p l i c a t i o n a l g o r i t h m [ 2 9 ] . W e h a v e i n c o r p o r a t e d t h e s e t h r e e

i d e a s i n t o a s i n g l e s t r u c t u r a l p r o c e d u r e t h a t a u t o m a t e s t h e d e s i g n o f p r i m e l e n g t h F F T s .

7 . 3 . 2 M a t r i x D e s c r i p t i o n

I t i s i m p o r t a n t t h a t e a c h s t e p i n t h e W i n o g r a d F F T c a n b e d e s c r i b e d u s i n g m a t r i c e s . B y

e x p r e s s i n g c y c l i c c o n v o l u t i o n a s a b i l i n e a r f o r m , a c o m p a c t f o r m o f p r i m e l e n g t h D F T s c a n

b e o b t a i n e d .

I f y i s t h e c y c l i c c o n v o l u t i o n o f h a n d x, t h e n y c a n b e e x p r e s s e d a s

y = C [Ax. ∗ Bh] ( 7 . 3 8 )

w h e r e , u s i n g t h e M a t l a b c o n v e n t i o n , .∗ r e p r e s e n t s p o i n t b y p o i n t m u l t i p l i c a t i o n . W h e n A, B ,

a n d C a r e a l l o w e d t o b e c o m p l e x , A a n d B a r e s e e n t o b e t h e D F T o p e r a t o r a n d C , t h e

i n v e r s e D F T . W h e n o n l y r e a l n u m b e r s a r e a l l o w e d , A, B , a n d C w i l l b e r e c t a n g u l a r . T h i s

f o r m o f c o n v o l u t i o n i s p r e s e n t e d w i t h m a n y e x a m p l e s i n [ 2 9 ] . U s i n g t h e m a t r i x e x c h a n g e

p r o p e r t y e x p l a i n e d i n [ 2 9 ] a n d [ 1 9 7 ] t h i s f o r m c a n b e w r i t t e n a s

y = RBT

C T Rh. ∗ Ax

( 7 . 3 9 )

w h e r e R i s t h e p e r m u t a t i o n m a t r i x t h a t r e v e r s e s o r d e r .

W h e n h i s x e d , a s i t i s w h e n c o n s i d e r i n g p r i m e l e n g t h D F T s , t h e t e r m C T Rh c a n b e p r e c o m -

p u t e d a n d a d i a g o n a l m a t r i x D f o r m e d b y D = diagC T Rh. T h i s i s a d v a n t a g e o u s b e c a u s e

i n g e n e r a l , C i s m o r e c o m p l i c a t e d t h a n B , s o t h e a b i l i t y t o h i d e " C s a v e s c o m p u t a t i o n .

N o w y = RBT DAx o r y = RAT DAx s i n c e A a n d B c a n b e t h e s a m e ; t h e y i m p l e m e n t a

p o l y n o m i a l r e d u c t i o n . T h e f o r m y = RT DAxT c a n a l s o b e u s e d f o r t h e p r i m e l e n g t h D F T s ,

i t i s o n l y n e c e s s a r y t o p e r m u t e t h e e n t r i e s o f x a n d t o e n s u r e t h a t t h e D C t e r m i s c o m p u t e d

c o r r e c t l y . T h e c o m p u t a t i o n o f t h e D C t e r m i s s i m p l e , f o r t h e r e s i d u e o f a p o l y n o m i a l m o d u l o

a − 1 i s a l w a y s t h e s u m o f t h e c o e c i e n t s . A f t e r a d d i n g t h e x0 t e r m o f t h e o r i g i n a l i n p u t

s e q u e n c e , t o t h e s− l r e s i d u e , t h e D C t e r m i s o b t a i n e d . N o w DF T x = RAT DAx . I n [ 1 9 7 ]

J o h n s o n o b s e r v e s t h a t b y p e r m u t i n g t h e e l e m e n t s o n t h e d i a g o n a l o f D , t h e o u t p u t c a n b e

p e r m u t e d , s o t h a t t h e R m a t r i x c a n b e h i d d e n i n D , a n d DF T x = AT DAx . F r o m t h e

k n o w l e d g e o f t h i s f o r m , o n c e A i s f o u n d , D c a n b e f o u n d n u m e r i c a l l y [ 1 9 7 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 63/254

5 7

7 . 3 . 3 P r o g r a m m i n g t h e D e s i g n P r o c e d u r e

B e c a u s e e a c h o f t h e a b o v e s t e p s c a n b e d e s c r i b e d b y m a t r i c e s , t h e d e v e l o p m e n t o f a p r i m e

l e n g t h F F T s i s m a d e c o n v e n i e n t w i t h t h e u s e o f a m a t r i x o r i e n t e d p r o g r a m m i n g l a n g u a g e

s u c h a s M a t l a b . A f t e r s p e c i f y i n g t h e a p p r o p r i a t e m a t r i c e s t h a t d e s c r i b e t h e d e s i r e d F F T

a l g o r i t h m , g e n e r a t i n g c o d e i n v o l v e s c o m p i l i n g t h e m a t r i c e s i n t o t h e d e s i r e d c o d e f o r e x e c u -

t i o n .

E a c h m a t r i x i s a s e c t i o n o f o n e s t a g e o f t h e o w g r a p h t h a t c o r r e s p o n d s t o t h e D F T p r o g r a m .

T h e f o u r s t a g e s a r e :

1 . P e r m u t a t i o n S t a g e : P e r m u t e s i n p u t a n d o u t p u t s e q u e n c e .

2 . R e d u c t i o n S t a g e : R e d u c e s t h e c y c l i c c o n v o l u t i o n t o s m a l l e r p o l y n o m i a l p r o d u c t s .

3 . P o l y n o m i a l P r o d u c t S t a g e : P e r f o r m s t h e p o l y n o m i a l m u l t i p l i c a t i o n s .

4 . M u l t i p l i c a t i o n S t a g e : I m p l e m e n t s t h e p o i n t - b y - p o i n t m u l t i p l i c a t i o n i n t h e b i l i n e a r

f o r m .

E a c h o f t h e s t a g e s c a n b e c l e a r l y s e e n i n t h e o w g r a p h s f o r t h e D F T s . F i g u r e 7 . 3 s h o w s t h e

o w g r a p h f o r a l e n g t h 1 7 D F T a l g o r i t h m t h a t w a s a u t o m a t i c a l l y d r a w n b y t h e p r o g r a m .

-

-

-

-

-

-

--

-

-

-

-

-

-

-

- -

-

-

-

-

-

-

-

-

-

-

-

-

-

F i g u r e 7 . 3 : F l o w g r a p h o f l e n g t h - 1 7 D F T

T h e p r o g r a m s t h a t a c c o m p l i s h t h i s p r o c e s s a r e w r i t t e n i n M a t l a b a n d C . T h o s e t h a t c o m p u t e

t h e a p p r o p r i a t e m a t r i c e s a r e w r i t t e n i n M a t l a b . T h e s e m a t r i c e s a r e t h e n s t o r e d a s t w o A S C I I

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 64/254

5 8

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

l e s , w i t h t h e d i m e n s i o n s i n o n e a n d t h e m a t r i x e l e m e n t s i n t h e s e c o n d . A C p r o g r a m t h e n

r e a d s t h e i e s a n d c o m p i l e s t h e m t o p r o d u c e t h e n a l F F T p r o g r a m i n C [ 3 3 5 ]

7 . 3 . 4 T h e R e d u c t i o n S t a g e

T h e r e d u c t i o n o f a n N th d e g r e e p o l y n o m i a l , X (s) , m o d u l o t h e c y c l o t o m i c p o l y n o m i a l f a c t o r s

o f

sN − 1

r e q u i r e s o n l y a d d i t i o n s f o r m a n y N , h o w e v e r , t h e a c t u a l n u m b e r o f a d d i t i o n s

d e p e n d s u p o n t h e w a y i n w h i c h t h e r e d u c t i o n p r o c e e d s . T h e r e d u c t i o n i s m o s t e c i e n t l y

p e r f o r m e d i n s t e p s . F o r e x a m p l e , i f N = 4 a n d

(X (s))s−1 ,

(X (s))s+1 a n d

(X (s))s2+1

w h e r e t h e d o u b l e p a r e n t h e s i s d e n o t e p o l y n o m i a l r e d u c t i o n m o d u l o (s − 1) , s + 1, a n d s2 + 1,

t h e n i n t h e r s t s t e p ((X (s)))s2−1 , a n d ((Xs))s2+1 s h o u l d b e c o m p u t e d . I n t h e s e c o n d s t e p ,

((Xs))s−1 a n d ((Xs))s+1 c a n b e f o u n d b y r e d u c i n g ((X (s)))s2−1 T h i s p r o c e s s i s d e s c r i b e d

b y t h e d i a g r a m i n F i g u r e 7 . 4 .

s4 - 1

s2 - 1 s

2 + 1

s - 1 s + 1

F i g u r e 7 . 4 : F a c t o r i z a t i o n o f s4 − 1 i n s t e p s

W h e n N i s e v e n , t h e a p p r o p r i a t e r s t f a c t o r i z a t i o n i s

S N/2 − 1

sN/2 + 1

, h o w e v e r , t h e

n e x t a p p r o p r i a t e f a c t o r i z a t i o n i s f r e q u e n t l y l e s s o b v i o u s . T h e f o l l o w i n g p r o c e d u r e h a s b e e n

f o u n d t o g e n e r a t e a f a c t o r i z a t i o n i n s t e p s t h a t c o i n c i d e s w i t h t h e f a c t o r i z a t i o n t h a t m i n i m i z e s

t h e c u m u l a t i v e n u m b e r o f a d d i t i o n s i n c u r r e d b y t h e s t e p s . T h e p r i m e f a c t o r s o f N a r e t h e

b a s i s o f t h i s p r o c e d u r e a n d t h e i r i m p o r t a n c e i s c l e a r f r o m t h e u s e f u l w e l l - k n o w n e q u a t i o n

sN − 1 =

n|N C n (s) w h e r e C n (s) i s t h e nthc y c l o t o m i c p o l y n o m i a l .

W e r s t i n t r o d u c e t h e f o l l o w i n g t w o f u n c t i o n s d e n e d o n t h e p o s i t i v e i n t e g e r s ,

ψ (N ) = t h e s m a l l e s t p r i m e f a c t o r o f N f o r N > 1 ( 7 . 4 0 )

a n d ψ (1) = 1.

S u p p o s e P (s) i s e q u a l t o e i t h e r

sN − 1

o r a n i n t e r m e d i a t e n o n c y c l o t o m i c p o l y n o m i a l

a p p e a r i n g i n t h e f a c t o r i z a t i o n p r o c e s s , f o r e x a m p l e , (a2 − 1) , a b o v e . W r i t e P (s) i n t e r m s o f

i t s c y c l o t o m i c f a c t o r s ,

P (s) = C k1 (s) C k2 (s) · · · C kL ( 7 . 4 1 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 65/254

5 9

d e n e t h e t w o s e t s , G a n d G , b y

G =

k1,

· · ·, kL

a n d G =

k/gcd (G) : k

∈G

( 7 . 4 2 )

a n d d e n e t h e t w o i n t e g e r s , t a n d T , b y

t = minψ (k) : k ∈ G ,k > 1 a n d T = maxnu (k, t) : k ∈ G ( 7 . 4 3 )

T h e n f o r m t w o n e w s e t s ,

A = k ∈ G : T | k a n d B = k ∈ G : T |k ( 7 . 4 4 )

T h e f a c t o r i z a t i o n o f P (s) ,

P (s) = k∈A

C k (s)k∈B

C k (s) ( 7 . 4 5 )

h a s b e e n f o u n d u s e f u l i n t h e p r o c e d u r e f o r f a c t o r i n g

sN − 1

. T h i s i s b e s t i l l u s t r a t e d w i t h

a n e x a m p l e .

E x a m p l e : N = 36

S t e p 1 . L e t P (s) = s36 − 1. S i n c e P = C 1C 2C 3C 4C 6C 9C 12C 18C 36

G = G = 1, 2, 3, 4, 6, 9, 12, 18, 36 ( 7 . 4 6 )

t = min2, 3 = 2( 7 . 4 7 )

A = k ∈ G : 4|k = 1, 2, 3, 6, 9, 18 ( 7 . 4 8 )

B = k ∈ G : 4|k = 4, 12, 36 ( 7 . 4 9 )

H e n c e t h e f a c t o r i z a t i o n o f s36 − 1 i n t o t w o i n t e r m e d i a t e p o l y n o m i a l s i s a s e x p e c t e d , k∈A

C k (s) = s18 − 1,k∈B

C k (s) = s18 + 1 ( 7 . 5 0 )

I f a 3 6 t h d e g r e e p o l y n o m i a l ,

X (s), i s r e p r e s e n t e d b y a v e c t o r o f c o e c i e n t s ,

X =(x35, · · · , x0) '

, t h e n

(X (s))s18−1 ( r e p r e s e n t e d b y X ' ) a n d

(X (s))s18+1 ( r e p r e s e n t e d b y X " )

i s g i v e n b y

test ( 7 . 5 1 )

w h i c h e n t a i l s 3 6 a d d i t i o n s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 66/254

6 0

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

S t e p 2 . T h i s p r o c e d u r e i s r e p e a t e d w i t h P (s) = s18 − 1 a n d P (s) = s18 + 1 . W e w i l l j u s t

s h o w i t f o r t h e l a t e r . L e t P (s) = s18 + 1 . S i n c e P = C 4C 12C 36

G = 4, 12, 36, G'

= l, 3, 9 ( 7 . 5 2 )

t = min3 = 3 ( 7 . 5 3 )

T = maxν (k, 3) : k ∈ G = maxl, 3, 9 = 9 ( 7 . 5 4 )

A = k ∈ G : 9|k = 4, 12 ( 7 . 5 5 )

B = k∈

G : 9|k

=

36

( 7 . 5 6 )

T h i s y i e l d s t h e t w o i n t e r m e d i a t e p o l y n o m i a l s ,

s6 + 1, a n d s12 − s6 + 1 ( 7 . 5 7 )

I n t h e n o t a t i o n u s e d a b o v e ,

X '

X ' '

=

I 6 −I 6 I 6

I 6 I 6

−I 6 I 6

X ( 7 . 5 8 )

e n t a i l i n g 2 4 a d d i t i o n s . C o n t i n u i n g t h i s p r o c e s s r e s u l t s i n a f a c t o r i z a t i o n i n s t e p s

I n o r d e r t o s e e t h e n u m b e r o f a d d i t i o n s t h i s s c h e m e u s e s f o r n u m b e r s o f t h e f o r m N = P − 1( w h i c h i s r e l e v a n t t o p r i m e l e n g t h F F T a l g o r i t h m s ) g u r e 4 s h o w s t h e n u m b e r o f a d d i t i o n s

t h e r e d u c t i o n p r o c e s s u s e s w h e n t h e p o l y n o m i a l X ( s ) i s r e a l .

F i g u r e 4 : N u m b e r o f A d d i t i o n s f o r R e d u c t i o n S t a g e

7 . 3 . 5 T h e P o l y n o m i a l P r o d u c t S t a g e

T h e i t e r a t e d c o n v o l u t i o n a l g o r i t h m c a n b e u s e d t o c o n s t r u c t a n N p o i n t l i n e a r c o n v o l u t i o n

a l g o r i t h m f r o m s h o r t e r l i n e a r c o n v o l u t i o n a l g o r i t h m s [ 2 9 ] . S u p p o s e t h e l i n e a r c o n v o l u t i o n

y,

o f t h e n p o i n t v e c t o r s x a n d h ( h k n o w n ) i s d e s c r i b e d b y

y = E T n D E n x ( 7 . 5 9 )

w h e r e E n i s a n e x p a n s i o n " m a t r i x t h e e l e m e n t s o f w h i c h a r e ±l ' s a n d 0 ' s a n d D i s a n

a p p r o p r i a t e d i a g o n a l m a t r i x . B e c a u s e t h e o n l y m u l t i p l i c a t i o n s i n t h i s e x p r e s s i o n a r e b y t h e

e l e m e n t s o f D , t h e n u m b e r o f m u l t i p l i c a t i o n s r e q u i r e d , M (n), i s e q u a l t o t h e n u m b e r o f r o w s

o f E n . T h e n u m b e r o f a d d i t i o n s i s d e n o t e d b y A (n) .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 67/254

6 1

G i v e n a m a t r i x E n1 a n d a m a t r i x E n2 , t h e i t e r a t e d a l g o r i t h m g i v e s a m e t h o d f o r c o m b i n i n g

E n1 a n d E n2 t o c o n s t r u c t a v a l i d e x p a n s i o n m a t r i x , E n , f o r N ≤ n1n2 . S p e c i c a l l y ,

E n1,n2 =

I M (n2) ⊗ E n1

(E n2 × I n1) ( 7 . 6 0 )

T h e p r o d u c t n1n2 m a y b e g r e a t e r t h a n N , f o r z e r o s c a n b e ( c o n c e p t u a l l y ) a p p e n d e d t o x.

T h e o p e r a t i o n c o u n t a s s o c i a t e d w i t h E n1,n2 i s

A (n1, n2) = n!A (n2) + A (n1) Mn2 ( 7 . 6 1 )

M (n1, n2) = M (n1) M (n2) ( 7 . 6 2 )

A l t h o u g h t h e y a r e b o t h v a l i d e x p a n s i o n m a t r i c e s , E n1,n2 = E n2,n1 a n d An1,n2 = An2,n1

B e c a u s e M n1,n2 = M n2,n1 i t i s d e s i r a b l e t o c h o s e a n o r d e r i n g o f f a c t o r s t o m i n i m i z e t h e

a d d i t i o n s i n c u r r e d b y t h e e x p a n s i o n m a t r i x . T h e f o l l o w i n g [ 7 ] , [ 2 6 3 ] f o l l o w s f r o m a b o v e .

7 . 3 . 5 . 1 M u l t i p l e F a c t o r s

N o t e t h a t a v a l i d e x p a n s i o n m a t r i x , E N , c a n b e c o n s t r u c t e d f r o m E n1,n2 a n d E n3 , f o r N ≤n1n2n3 . I n g e n e r a l , a n y n u m b e r o f f a c t o r s c a n b e u s e d t o c r e a t e l a r g e r e x p a n s i o n m a t r i c e s .

T h e o p e r a t i o n c o u n t a s s o c i a t e d w i t h E n1,n2,n3 i s

A (n1, n2, n3) = n1n2A (n3) + n1A (n2) M (n3) + A (n1) M (n2) M (n3) ( 7 . 6 3 )

M (n1, n

2, n

3) = M (n

1) M (n

2) M (n

3) ( 7 . 6 4 )

T h e s e e q u a t i o n s g e n e r a l i z e i n t h e p r e d i c t e d w a y w h e n m o r e f a c t o r s a r e c o n s i d e r e d . B e c a u s e

t h e o r d e r i n g o f t h e f a c t o r s i s r e l e v a n t i n t h e e q u a t i o n f o r A (.) b u t n o t f o r M (.) , i t i s a g a i n

d e s i r a b l e t o o r d e r t h e f a c t o r s t o m i n i m i z e t h e n u m b e r o f a d d i t i o n s . B y e x p l o i t i n g t h e f o l -

l o w i n g p r o p e r t y o f t h e e x p r e s s i o n s f o r A (.) a n d M (.) , t h e o p t i m a l o r d e r i n g c a n b e f o u n d

[ 7 ] .

r e s e r v a t i o n o f O p t i m a l O r d e r i n g . S u p p o s e A (n1, n2, n3) ≤ minA (nk1, nk2, nk3) : k1, k2, k3 ∈1, 2, 3 a n d d i s t i n c t , t h e n

1 .

A (n1, n2) ≤ A (n2, n1)( 7 . 6 5 )

2 .

A (n2, n3) ≤ A (n3, n2) ( 7 . 6 6 )

3 .

A (n1, n3) ≤ A (n3, n1) ( 7 . 6 7 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 68/254

6 2

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

T h e g e n e r a l i z a t i o n o f t h i s p r o p e r t y t o m o r e t h a n t w o f a c t o r s r e v e a l s t h a t a n o p t i m a l o r d e r i n g

o f n1, · · · , nL−i i s p r e s e r v e d i n a n o p t i m a l o r d e r i n g o f n1, · · · nL. T h e r e f o r e , i f (n1, · · · nL)i s a n o p t i m a l o r d e r i n g o f

n1,

· · ·nL

, t h e n (nk, nk+1) i s a n o p t i m a l o r d e r i n g o f

nk, nk+1

a n d c o n s e q u e n t l y

A (nk)

M (nk) − nk

≤ A (nk+1)

M (nk+1) − nk+1

( 7 . 6 8 )

f o r a l l k = 1, 2, · · · , L − 1.

T h i s i m m e d i a t e l y s u g g e s t s t h a t a n o p t i m a l o r d e r i n g o f n1, · · · nL i s o n e f o r w h i c h

A (n1)

M (n1) − n1· · · A (nL)

M (nL) − nL( 7 . 6 9 )

i s n o n d e c r e a s i n g . H e n c e , o r d e r i n g t h e f a c t o r s ,

n1,· · ·

nL

, t o m i n i m i z e t h e n u m b e r o f

a d d i t i o n s i n c u r r e d b y E n1,··· ,nL s i m p l y i n v o l v e s c o m p u t i n g t h e a p p r o p r i a t e r a t i o s .

7 . 3 . 6 D i s c u s s i o n a n d C o n c l u s i o n

W e h a v e d e s i g n e d p r i m e l e n g t h F F T s u p t o l e n g t h 5 3 t h a t a r e a s g o o d a s t h e p r e v i o u s d e s i g n s

t h a t o n l y w e n t u p t o 1 9 . T a b l e 1 g i v e s t h e o p e r a t i o n c o u n t s f o r t h e n e w a n d p r e v i o u s l y

d e s i g n e d m o d u l e s , a s s u m i n g c o m p l e x i n p u t s .

I t i s i n t e r e s t i n g t o n o t e t h a t t h e o p e r a t i o n c o u n t s d e p e n d o n t h e f a c t o r a b i l i t y o f P − 1 . T h e

p r i m e s 1 1 , 2 3 , a n d 4 7 a r e a l l o f t h e f o r m 1 + 2P 1 m a k i n g t h e d e s i g n o f e c i e n t F F T s f o r

t h e s e l e n g t h s m o r e d i c u l t .

F u r t h e r d e v i a t i o n s f r o m t h e o r i g i n a l W i n o g r a d a p p r o a c h t h a n w e h a v e m a d e c o u l d p r o v e u s e -

f u l f o r l o n g e r l e n g t h s . W e i n v e s t i g a t e d , f o r e x a m p l e , t h e u s e o f t w i d d l e f a c t o r s a t a p p r o p r i a t e

p o i n t s i n t h e d e c o m p o s i t i o n s t a g e ; t h e s e c a n s o m e t i m e s b e u s e d t o d i v i d e t h e c y c l i c c o n v o l u -

t i o n i n t o s m a l l e r c o n v o l u t i o n s . T h e i r u s e m e a n s , h o w e v e r , t h a t t h e ' c e n t e r * m u l t i p l i c a t i o n s

w o u l d n o l o n g e r b e b y p u r e l y r e a l o r i m a g i n a r y n u m b e r s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 69/254

6 3

N M u l t A d d s

7 1 6 7 2

1 1 4 0 1 6 8

1 3 4 0 1 8 8

1 7 8 2 2 7 4

1 9 8 8 3 6 0

2 3 1 7 4 6 7 2

2 9 1 9 0 7 6 6

3 1 1 6 0 9 8 4

3 7 2 2 0 9 2 0

4 1 2 8 2 1 1 4 0

4 3 3 0 4 1 4 1 6

4 7 6 4 0 2 0 8 8

5 3 5 5 6 2 0 3 8

T a b l e 7 . 2 : O p e r a t i o n c o u n t s f o r p r i m e l e n g t h D F T s

T h e a p p r o a c h i n w r i t i n g a p r o g r a m t h a t w r i t e s a n o t h e r p r o g r a m i s a v a l u a b l e o n e f o r s e v e r a l

r e a s o n s . P r o g r a m m i n g t h e d e s i g n p r o c e s s f o r t h e d e s i g n o f p r i m e l e n g t h F F T s h a s t h e

a d v a n t a g e s o f b e i n g p r a c t i c a l , e r r o r - f r e e , a n d e x i b l e . T h e e x i b i l i t y i s i m p o r t a n t b e c a u s e i t

a l l o w s f o r m o d i c a t i o n a n d e x p e r i m e n t a t i o n w i t h d i e r e n t a l g o r i t h m i c i d e a s . A b o v e a l l , i t

h a s a l l o w e d l o n g e r D F T s t o b e r e l i a b l y d e s i g n e d .

M o r e d e t a i l s o n t h e g e n e r a t i o n o f p r o g r a m s f o r p r i m e l e n g t h F F T s c a n b e f o u n d i n t h e 1 9 9 3

T e c h n i c a l R e p o r t .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 70/254

6 4

C H A P T E R 7 . W I N O G R A D ' S S H O R T D F T A L G O R I T H M S

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 71/254

C h a p t e r 8

D F T a n d F F T : A n A l g e b r a i c V i e w

1

b y M a r k u s P u e s c h e l , C a r n e g i e M e l l o n U n i v e r s i t y

I n i n n i t e , o r n o n - p e r i o d i c , d i s c r e t e - t i m e s i g n a l p r o c e s s i n g , t h e r e i s a s t r o n g c o n n e c t i o n

b e t w e e n t h e z - t r a n s f o r m , L a u r e n t s e r i e s , c o n v o l u t i o n , a n d t h e d i s c r e t e - t i m e F o u r i e r t r a n s f o r m

( D T F T ) [ 2 7 7 ] . A s o n e m a y e x p e c t , a s i m i l a r c o n n e c t i o n e x i s t s f o r t h e D F T b u t b e a r s

s u r p r i s e s . N a m e l y , i t t u r n s o u t t h a t t h e p r o p e r f r a m e w o r k f o r t h e D F T r e q u i r e s m o d u l o

o p e r a t i o n s o f p o l y n o m i a l s , w h i c h m e a n s w o r k i n g w i t h s o - c a l l e d p o l y n o m i a l a l g e b r a s [ 1 3 8 ] .

A s s o c i a t e d w i t h p o l y n o m i a l a l g e b r a s i s t h e C h i n e s e r e m a i n d e r t h e o r e m , w h i c h d e s c r i b e s t h e

D F T a l g e b r a i c a l l y a n d c a n b e u s e d a s a t o o l t o c o n c i s e l y d e r i v e v a r i o u s F F T s a s w e l l a s

c o n v o l u t i o n a l g o r i t h m s [ 2 6 8 ] , [ 4 0 9 ] , [ 4 1 4 ] , [ 1 2 ] ( s e e a l s o W i n o g r a d ' s S h o r t D F T A l g o r i t h m s

( C h a p t e r 7 ) ) . T h e p o l y n o m i a l a l g e b r a f r a m e w o r k w a s f u l l y d e v e l o p e d f o r s i g n a l p r o c e s s i n g a s

p a r t o f t h e a l g e b r a i c s i g n a l p r o c e s s i n g t h e o r y ( A S P ) . A S P i d e n t i e s t h e s t r u c t u r e u n d e r l y i n g

m a n y t r a n s f o r m s u s e d i n s i g n a l p r o c e s s i n g , p r o v i d e s d e e p i n s i g h t i n t o t h e i r p r o p e r t i e s , a n d

e n a b l e s t h e d e r i v a t i o n o f t h e i r f a s t a l g o r i t h m s [ 2 9 5 ] , [ 2 9 3 ] , [ 2 9 1 ] , [ 2 9 4 ] . H e r e w e f o c u s o n t h e

a l g e b r a i c d e s c r i p t i o n o f t h e D F T a n d o n t h e a l g e b r a i c d e r i v a t i o n o f t h e g e n e r a l - r a d i x C o o l e y -

T u k e y F F T f r o m F a c t o r i n g t h e S i g n a l P r o c e s s i n g O p e r a t o r s ( C h a p t e r 6 ) . T h e d e r i v a t i o n w i l l

m a k e u s e o f a n d e x t e n d t h e P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s ( C h a p t e r 4 ) . W e s t a r t w i t h

m o t i v a t i n g t h e a p p e a r a n c e o f m o d u l o o p e r a t i o n s .

T h e z - t r a n s f o r m a s s o c i a t e s w i t h i n n i t e d i s c r e t e s i g n a l s X = (· · · , x (−1) , x (0) , x (1) , · · · )a L a u r e n t s e r i e s :

X →

X (s) = n∈Z

x (n) sn. ( 8 . 1 )

H e r e w e u s e d s = z −1 t o s i m p l i f y t h e n o t a t i o n i n t h e f o l l o w i n g . T h e D T F T o f X i s t h e

e v a l u a t i o n o f X (s) o n t h e u n i t c i r c l e

X

e− jω

, − π < ω ≤ π. ( 8 . 2 )

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 1 / 1 . 1 4 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

6 5

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 72/254

6 6

C H A P T E R 8 . D F T A N D F F T : A N A L G E B R A I C V I E W

F i n a l l y , l t e r i n g o r ( l i n e a r ) c o n v o l u t i o n i s s i m p l y t h e m u l t i p l i c a t i o n o f L a u r e n t s e r i e s ,

H

∗X

↔H (s) X (s) . ( 8 . 3 )

F o r n i t e s i g n a l s X = (x (0) , · · · , x (N − 1)) o n e e x p e c t s t h a t t h e e q u i v a l e n t o f ( 8 . 1 ) b e c o m e s

a m a p p i n g t o p o l y n o m i a l s o f d e g r e e N − 1,

X → X (s) =N −1n=0

x (n) sn, ( 8 . 4 )

a n d t h a t t h e D F T i s a n e v a l u a t i o n o f t h e s e p o l y n o m i a l s . I n d e e d , t h e d e n i t i o n o f t h e D F T

i n W i n o g r a d ' s S h o r t D F T A l g o r i t h m s ( C h a p t e r 7 ) s h o w s t h a t

C (k) = X W kN = X e− j2πkN

, 0 ≤ k < N, ( 8 . 5 )

i . e . , t h e D F T c o m p u t e s t h e e v a l u a t i o n s o f t h e p o l y n o m i a l X (s) a t t h e nt h r o o t s o f u n i t y .

T h e p r o b l e m a r i s e s w i t h t h e e q u i v a l e n t o f ( 8 . 3 ) , s i n c e t h e m u l t i p l i c a t i o n H (s) X (s) o f t w o

p o l y n o m i a l s o f d e g r e e N − 1 y i e l d s o n e o f d e g r e e 2N − 2. A l s o , i t d o e s n o t c o i n c i d e w i t h t h e

c i r c u l a r c o n v o l u t i o n k n o w n t o b e a s s o c i a t e d w i t h t h e D F T . T h e s o l u t i o n t o b o t h p r o b l e m s

i s t o r e d u c e t h e p r o d u c t m o d u l o sn − 1:

H ∗c i r c

X ↔ H (s) X (s) m o d (sn − 1) . ( 8 . 6 )

C o n c e p t I n n i t e T i m e F i n i t e T i m e

S i g n a l X (s) =

n∈Zx (n) snN −1

n=0 x (n) sn

F i l t e r H (s) =

n∈Zh (n) snN −1

n=0 h (n) sn

C o n v o l u t i o n H (s) X (s) H (s) X (s) m o d (sn − 1)

F o u r i e r t r a n s f o r m D T F T : X (e− jω) , − π < ω ≤ π D F T : X

e− j2πkn

, 0 ≤ k < n

T a b l e 8 . 1 : I n n i t e a n d n i t e d i s c r e t e t i m e s i g n a l p r o c e s s i n g .

T h e r e s u l t i n g p o l y n o m i a l t h e n h a s a g a i n d e g r e e N

−1 a n d t h i s f o r m o f c o n v o l u t i o n b e c o m e s

e q u i v a l e n t t o c i r c u l a r c o n v o l u t i o n o f t h e p o l y n o m i a l c o e c i e n t s . W e a l s o o b s e r v e t h a t t h e

e v a l u a t i o n p o i n t s i n ( 8 . 5 ) a r e p r e c i s e l y t h e r o o t s o f sn −1 . T h i s c o n n e c t i o n w i l l b e c o m e c l e a r

i n t h i s c h a p t e r .

T h e d i s c u s s i o n i s s u m m a r i z e d i n T a b l e 8 . 1 .

T h e p r o p e r f r a m e w o r k t o d e s c r i b e t h e m u l t i p l i c a t i o n o f p o l y n o m i a l s m o d u l o a x e d p o l y n o -

m i a l a r e p o l y n o m i a l a l g e b r a s . T o g e t h e r w i t h t h e C h i n e s e r e m a i n d e r t h e o r e m , t h e y p r o v i d e

t h e t h e o r e t i c a l u n d e r p i n n i n g f o r t h e D F T a n d t h e C o o l e y - T u k e y F F T .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 73/254

6 7

I n t h i s c h a p t e r , t h e D F T w i l l n a t u r a l l y a r i s e a s a l i n e a r m a p p i n g w i t h r e s p e c t t o c h o s e n b a s e s ,

i . e . , a s a m a t r i x . I n d e e d , t h e d e n i t i o n s h o w s t h a t i f a l l i n p u t a n d o u t p u t s a r e c o l l e c t e d i n t o

v e c t o r s X = (X (0) ,

· · ·, X (N

−1)) a n d C = (C (0) ,

· · ·C (N

−1)), t h e n W i n o g r a d ' s S h o r t

D F T A l g o r i t h m s ( C h a p t e r 7 ) i s e q u i v a l e n t t o

C = DF T N X, ( 8 . 7 )

w h e r e

DF T N =

W knN

0≤k,n<N

. ( 8 . 8 )

T h e m a t r i x p o i n t o f v i e w i s a d o p t e d i n t h e F F T b o o k s [ 3 8 8 ] , [ 3 8 1 ] .

8 . 1 P o l y n o m i a l A l g e b r a s a n d t h e D F T

I n t h i s s e c t i o n w e i n t r o d u c e p o l y n o m i a l a l g e b r a s a n d e x p l a i n h o w t h e y a r e a s s o c i a t e d t o

t r a n s f o r m s . T h e n w e i d e n t i f y t h i s c o n n e c t i o n f o r t h e D F T . L a t e r w e u s e p o l y n o m i a l a l g e b r a s

t o d e r i v e t h e C o o l e y - T u k e y F F T .

F o r f u r t h e r b a c k g r o u n d o n t h e m a t h e m a t i c s i n t h i s s e c t i o n a n d p o l y n o m i a l a l g e b r a s i n p a r -

t i c u l a r , w e r e f e r t o [ 1 3 8 ] .

8 . 1 . 1 P o l y n o m i a l A l g e b r a

A n a l g e b r a

Ai s a v e c t o r s p a c e t h a t a l s o p r o v i d e s a m u l t i p l i c a t i o n o f i t s e l e m e n t s s u c h t h a t

t h e d i s t r i b u t i v i t y l a w h o l d s ( s e e [ 1 3 8 ] f o r a c o m p l e t e d e n i t i o n ) . E x a m p l e s i n c l u d e t h e s e t s o f

c o m p l e x o r r e a l n u m b e r s C

o r R

, a n d t h e s e t s o f c o m p l e x o r r e a l p o l y n o m i a l s i n t h e v a r i a b l e

s: C [s] o r R [s].

T h e k e y p l a y e r i n t h i s c h a p t e r i s t h e p o l y n o m i a l a l g e b r a . G i v e n a x e d p o l y n o m i a l P (s)o f d e g r e e deg (P ) = N , w e d e n e a p o l y n o m i a l a l g e b r a a s t h e s e t

C [s] /P (s) = X (s) | deg (X ) < deg (P ) ( 8 . 9 )

o f p o l y n o m i a l s o f d e g r e e s m a l l e r t h a n N w i t h a d d i t i o n a n d m u l t i p l i c a t i o n m o d u l o P . V i e w e d

a s a v e c t o r s p a c e , C [s] /P (s) h e n c e h a s d i m e n s i o n N .

E v e r y p o l y n o m i a l X (s) ∈ C [s] i s r e d u c e d t o a u n i q u e p o l y n o m i a l R (s) m o d u l o P (s) o f

d e g r e e s m a l l e r t h a n N . R (s) i s c o m p u t e d u s i n g d i v i s i o n w i t h r e s t , n a m e l y

X (s) = Q (s) P (s) + R (s) , deg (R) < deg (P ) . ( 8 . 1 0 )

R e g a r d i n g t h i s e q u a t i o n m o d u l o P , P (s) b e c o m e s z e r o , a n d w e g e t

X (s) ≡ R (s) m o d P (s) . ( 8 . 1 1 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 74/254

6 8

C H A P T E R 8 . D F T A N D F F T : A N A L G E B R A I C V I E W

W e r e a d t h i s e q u a t i o n a s X (s) i s c o n g r u e n t ( o r e q u a l ) R (s) m o d u l o P (s) . W e w i l l a l s o

w r i t e X (s) m o d P (s) t o d e n o t e t h a t X (s) i s r e d u c e d m o d u l o P (s) . O b v i o u s l y ,

P (s) ≡ 0 m o d P (s) . ( 8 . 1 2 )

A s a s i m p l e e x a m p l e w e c o n s i d e r A = C [s] / (s2 − 1) , w h i c h h a s d i m e n s i o n 2 . A p o s s i b l e

b a s i s i s b = (1, s). I n A, f o r e x a m p l e , s · (s + 1) = s2 + s ≡ s + 1 m o d (s2 − 1), o b t a i n e d

t h r o u g h d i v i s i o n w i t h r e s t

s2 + s = 1 · s2 − 1

+ (s + 1) ( 8 . 1 3 )

o r s i m p l y b y r e p l a c i n g s2 w i t h 1 ( s i n c e s2 − 1 = 0 i m p l i e s s2 = 1) .

8 . 1 . 2 C h i n e s e R e m a i n d e r T h e o r e m ( C R T )

A s s u m e P (s) = Q (s) R (s) f a c t o r s i n t o t w o c o p r i m e ( n o c o m m o n f a c t o r s ) p o l y n o m i a l s Qa n d R. T h e n t h e C h i n e s e r e m a i n d e r t h e o r e m ( C R T ) f o r p o l y n o m i a l s i s t h e l i n e a r m a p p i n g

2

∆ : C [s] /P (s) → C [s] /Q (s) ⊕ C [s] /R (s) ,

X (s) → (X (s) m o d Q (s) , X (s) m o d R (s)) .( 8 . 1 4 )

H e r e , ⊕ i s t h e C a r t e s i a n p r o d u c t o f v e c t o r s p a c e s w i t h e l e m e n t w i s e o p e r a t i o n ( a l s o c a l l e d

o u t e r d i r e c t s u m ) . I n w o r d s , t h e C R T a s s e r t s t h a t c o m p u t i n g ( a d d i t i o n , m u l t i p l i c a t i o n ,

s c a l a r m u l t i p l i c a t i o n ) i n C [s] /P (s) i s e q u i v a l e n t t o c o m p u t i n g i n p a r a l l e l i n C [s] /Q (s) a n d

C [s] /R (s) .

I f w e c h o o s e b a s e s b,c,d i n t h e t h r e e p o l y n o m i a l a l g e b r a s , t h e n ∆ c a n b e e x p r e s s e d a s a

m a t r i x . A s u s u a l w i t h l i n e a r m a p p i n g s , t h i s m a t r i x i s o b t a i n e d b y m a p p i n g e v e r y e l e m e n t

o f b w i t h ∆, e x p r e s s i n g i t i n t h e c o n c a t e n a t i o n c ∪ d o f t h e b a s e s c a n d d, a n d w r i t i n g t h e

r e s u l t s i n t o t h e c o l u m n s o f t h e m a t r i x .

A s a n e x a m p l e , w e c o n s i d e r a g a i n t h e p o l y n o m i a l P (s) = s2 − 1 = (s − 1) (s + 1) a n d t h e

C R T d e c o m p o s i t i o n

∆ : C [s] /

s2 − 1 → C [s] / (x − 1) ⊕ C [s] / (x + 1) . ( 8 . 1 5 )

A s b a s e s , w e c h o o s e b = (1, x) , c = (1) , d = (1) . ∆(1) = (1, 1) w i t h t h e s a m e c o o r d i n a t e

v e c t o r i n c ∪ d = (1, 1). F u r t h e r , b e c a u s e o f x ≡ 1 m o d (x − 1) a n d x ≡ −1 m o d (x + 1) ,

∆ (x) = (x, x) ≡ (1, −1) w i t h t h e s a m e c o o r d i n a t e v e c t o r . T h u s , ∆ i n m a t r i x f o r m i s t h e

s o - c a l l e d b u t t e r y m a t r i x , w h i c h i s a D F T o f s i z e 2 : DF T 2 =

1 1

1 −1

.

2

M o r e p r e c i s e l y , i s o m o r p h i s m o f a l g e b r a s o r i s o m o r p h i s m o f A - m o d u l e s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 75/254

6 9

8 . 1 . 3 P o l y n o m i a l T r a n s f o r m s

A s s u m e P (s) ∈ C [s] h a s p a i r w i s e d i s t i n c t z e r o s α = (α0, · · · , αN −1) . T h e n t h e C R T c a n b e

u s e d t o c o m p l e t e l y d e c o m p o s e C[s] /P (s)

i n t o i t s s p e c t r u m :

∆ : C [s] /P (s) → C [s] / (s − α0) ⊕ · · · ⊕C [s] / (s − αN −1) ,

X (s) → (X (s) m o d (s − α0) , · · · , X (s) m o d (s − αN −1))

= (s (α0) , · · · , s (αN −1)) .

( 8 . 1 6 )

I f w e c h o o s e a b a s i s b = (P 0 (s) , · · · , P N −1 (s)) i n C [s] /P (s) a n d b a s e s bi = (1) i n e a c h

C [s] / (s − αi) , t h e n ∆, a s a l i n e a r m a p p i n g , i s r e p r e s e n t e d b y a m a t r i x . T h e m a t r i x i s

o b t a i n e d b y m a p p i n g e v e r y b a s i s e l e m e n t P n , 0 ≤ n < N , a n d c o l l e c t i n g t h e r e s u l t s i n t h e

c o l u m n s o f t h e m a t r i x . T h e r e s u l t i s

P b,α = [P n (αk)]0≤k,n<N ( 8 . 1 7 )

a n d i s c a l l e d t h e p o l y n o m i a l t r a n s f o r m f o r A = C [s] /P (s) w i t h b a s i s b .

I f , i n g e n e r a l , w e c h o o s e bi = (β i) a s s p e c t r a l b a s i s , t h e n t h e m a t r i x c o r r e s p o n d i n g t o t h e

d e c o m p o s i t i o n ( 8 . 1 6 ) i s t h e s c a l e d p o l y n o m i a l t r a n s f o r m

diag0≤k<N (1/β n) P b,α, ( 8 . 1 8 )

w h e r e diag0≤n<N (γ n) d e n o t e s a d i a g o n a l m a t r i x w i t h d i a g o n a l e n t r i e s γ n .

W e j o i n t l y r e f e r t o p o l y n o m i a l t r a n s f o r m s , s c a l e d o r n o t , a s F o u r i e r t r a n s f o r m s .

8 . 1 . 4 D F T a s a P o l y n o m i a l T r a n s f o r m

W e s h o w t h a t t h e DF T N i s a p o l y n o m i a l t r a n s f o r m f o r A = C [s] /

sN − 1

w i t h b a s i s

b =

1, s, · · · , sN −1. N a m e l y ,

sN − 1 =

0≤k<N

x − W kN

, ( 8 . 1 9 )

w h i c h m e a n s t h a t ∆ t a k e s t h e f o r m

∆ : C [s] /

sN

− 1 → C [s] / (s − W

0

N ) ⊕ · · · ⊕C [s] /

s − W N

−1

N

,X (s) →

X (s) m o d (s − W 0N ) , · · · , X (s) m o d

s − W N −1

N

=

X (W 0N ) , · · · , X

W N −1N

.

( 8 . 2 0 )

T h e a s s o c i a t e d p o l y n o m i a l t r a n s f o r m h e n c e b e c o m e s

P b,α =

W knN

0≤k,n<N

= DF T N . ( 8 . 2 1 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 76/254

7 0

C H A P T E R 8 . D F T A N D F F T : A N A L G E B R A I C V I E W

T h i s i n t e r p r e t a t i o n o f t h e D F T h a s b e e n k n o w n a t l e a s t s i n c e [ 4 0 9 ] , [ 2 6 8 ] a n d c l a r i e s t h e

c o n n e c t i o n b e t w e e n t h e e v a l u a t i o n p o i n t s i n ( 8 . 5 ) a n d t h e c i r c u l a r c o n v o l u t i o n i n ( 8 . 6 ) .

I n [ 4 0 ] , D F T s o f t y p e s 1 4 a r e d e n e d , w i t h t y p e 1 b e i n g t h e s t a n d a r d D F T . I n t h e a l g e b r a i c

f r a m e w o r k , t y p e 3 i s o b t a i n e d b y c h o o s i n g A = C [s] /

sN + 1

a s a l g e b r a w i t h t h e s a m e

b a s i s a s b e f o r e :

P b,α =

W (k+1/2)nN

0≤k,n<N

= DF T - 3 N , ( 8 . 2 2 )

T h e D F T s o f t y p e 2 a n d 4 a r e s c a l e d p o l y n o m i a l t r a n s f o r m s [ 2 9 5 ] .

8 . 2 A l g e b r a i c D e r i v a t i o n o f t h e C o o l e y - T u k e y F F T

K n o w i n g t h e p o l y n o m i a l a l g e b r a u n d e r l y i n g t h e D F T e n a b l e s u s t o d e r i v e t h e C o o l e y - T u k e y

F F T a l g e b r a i c a l l y . T h i s m e a n s t h a t i n s t e a d o f m a n i p u l a t i n g t h e D F T d e n i t i o n , w e m a -

n i p u l a t e t h e p o l y n o m i a l a l g e b r a C [s] /

sN − 1

. T h e b a s i c i d e a i s i n t u i t i v e . W e s h o w e d t h a t

t h e D F T i s t h e m a t r i x r e p r e s e n t a t i o n o f t h e c o m p l e t e d e c o m p o s i t i o n ( 8 . 2 0 ) . T h e C o o l e y -

T u k e y F F T i s n o w d e r i v e d b y p e r f o r m i n g t h i s d e c o m p o s i t i o n i n s t e p s a s s h o w n i n F i g u r e 8 . 1 .

E a c h s t e p y i e l d s a s p a r s e m a t r i x ; h e n c e , t h e DF T N i s f a c t o r i z e d i n t o a p r o d u c t o f s p a r s e

m a t r i c e s , w h i c h w i l l b e t h e m a t r i x r e p r e s e n t a t i o n o f t h e C o o l e y - T u k e y F F T .

F i g u r e 8 . 1 : B a s i c i d e a b e h i n d t h e a l g e b r a i c d e r i v a t i o n o f C o o l e y - T u k e y t y p e a l g o r i t h m s

T h i s s t e p w i s e d e c o m p o s i t i o n c a n b e f o r m u l a t e d g e n e r i c a l l y f o r p o l y n o m i a l t r a n s f o r m s [ 2 9 2 ] ,

[ 2 9 4 ] . H e r e , w e c o n s i d e r o n l y t h e D F T .

W e r s t i n t r o d u c e t h e m a t r i x n o t a t i o n w e w i l l u s e a n d i n p a r t i c u l a r t h e K r o n e c k e r p r o d u c t

f o r m a l i s m t h a t b e c a m e m a i n s t r e a m f o r F F T s i n [ 3 8 8 ] , [ 3 8 1 ] .

T h e n w e r s t d e r i v e t h e r a d i x - 2 F F T u s i n g a f a c t o r i z a t i o n o f sN − 1. S u b s e q u e n t l y , w e

o b t a i n t h e g e n e r a l - r a d i x F F T u s i n g a d e c o m p o s i t i o n o f sN − 1.

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 77/254

7 1

8 . 2 . 1 M a t r i x N o t a t i o n

W e d e n o t e t h e N × N i d e n t i t y m a t r i x w i t h I N , a n d d i a g o n a l m a t r i c e s w i t h

diag0≤k<N (γ k) =

γ 0

.

.

.

γ N −1

. ( 8 . 2 3 )

T h e N × N s t r i d e p e r m u t a t i o n m a t r i x i s d e n e d f o r N = KM b y t h e p e r m u t a t i o n

LN M : iK + j → jM + i ( 8 . 2 4 )

f o r 0 ≤ i < K, 0 ≤ j < M . T h i s d e n i t i o n s h o w s t h a t LN M t r a n s p o s e s a K × M m a t r i x

s t o r e d i n r o w - m a j o r o r d e r . A l t e r n a t i v e l y , w e c a n w r i t e

LN M : i → iM m o d N − 1, f o r 0 ≤ i < N − 1, N − 1 → N − 1. ( 8 . 2 5 )

F o r e x a m p l e ( · m e a n s 0 ) ,

L62 =

1 · · · · ·

· · 1 · · ·· · · · 1 ·· 1 · · · ·· · · 1 · ·· · · · · 1

. ( 8 . 2 6 )

LN N/2 i s s o m e t i m e s c a l l e d t h e p e r f e c t s h u e .

F u r t h e r , w e u s e m a t r i x o p e r a t o r s ; n a m e l y t h e d i r e c t s u m

A ⊕ B =

A

B

( 8 . 2 7 )

a n d t h e K r o n e c k e r o r t e n s o r p r o d u c t

A ⊗ B = [ak,B]k,, f o r A = [ak,] . ( 8 . 2 8 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 78/254

7 2

C H A P T E R 8 . D F T A N D F F T : A N A L G E B R A I C V I E W

I n p a r t i c u l a r ,

I n ⊗ A = A ⊕ · · · ⊕ A =

A

.

.

.

A

( 8 . 2 9 )

i s b l o c k - d i a g o n a l .

W e m a y a l s o c o n s t r u c t a l a r g e r m a t r i x a s a m a t r i x o f m a t r i c e s , e . g . , A B

B A

. ( 8 . 3 0 )

I f a n a l g o r i t h m f o r a t r a n s f o r m i s g i v e n a s a p r o d u c t o f s p a r s e m a t r i c e s b u i l t f r o m t h e

c o n s t r u c t s a b o v e , t h e n a n a l g o r i t h m f o r t h e t r a n s p o s e o r i n v e r s e o f t h e t r a n s f o r m c a n b e

r e a d i l y d e r i v e d u s i n g m a t h e m a t i c a l p r o p e r t i e s i n c l u d i n g

(AB)T = BT AT , (AB)−1 = B−1A−1,

(A ⊕ B)T = AT ⊕ BT , (A ⊕ B)−1 = A−1 ⊕ B−1,

(A ⊗ B)T = AT ⊗ BT , (A ⊗ B)−1 = A−1 ⊗ B−1.

( 8 . 3 1 )

P e r m u t a t i o n m a t r i c e s a r e o r t h o g o n a l , i . e . , P T = P −1 . T h e t r a n s p o s i t i o n o r i n v e r s i o n o f

d i a g o n a l m a t r i c e s i s o b v i o u s .

8 . 2 . 2 R a d i x - 2 F F T

T h e D F T d e c o m p o s e s A = C [s] /

sN − 1

w i t h b a s i s b =

1, s, · · · , sN −1a s s h o w n i n

( 8 . 2 0 ) . W e a s s u m e N = 2M . T h e n

s2M

−1 = sM

−1 sM + 1 ( 8 . 3 2 )

f a c t o r s a n d w e c a n a p p l y t h e C R T i n t h e f o l l o w i n g s t e p s :

C [s] /

sN − 1

→ C [s] /

sM − 1⊕ C [s] /

sM + 1

( 8 . 3 3 )

→ ⊕0≤i<M

C [s] / (x − W 2iN ) ⊕ ⊕0≤i<M

C [s] /

x − W 2i+1M

( 8 . 3 4 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 79/254

7 3

→ ⊕0≤i<N

C [s] / (x − W iN ) .( 8 . 3 5 )

A s b a s e s i n t h e s m a l l e r a l g e b r a s C [s] /

sM − 1

a n d C [s] /

sM + 1

, w e c h o o s e c = d =1, s, · · · , sM −1

. T h e d e r i v a t i o n o f a n a l g o r i t h m f o r DF T N b a s e d o n ( 8 . 3 3 ) - ( 8 . 3 5 ) i s n o w

c o m p l e t e l y m e c h a n i c a l b y r e a d i n g o t h e m a t r i x f o r e a c h o f t h e t h r e e d e c o m p o s i t i o n s t e p s .

T h e p r o d u c t o f t h e s e m a t r i c e s i s e q u a l t o t h e DF T N .

F i r s t , w e d e r i v e t h e b a s e c h a n g e m a t r i x B c o r r e s p o n d i n g t o ( 8 . 3 3 ) . T o d o s o , w e h a v e t o

e x p r e s s t h e b a s e e l e m e n t s sn ∈ b i n t h e b a s i s c ∪ d; t h e c o o r d i n a t e v e c t o r s a r e t h e c o l u m n s

o f B . F o r 0 ≤ n < M , sni s a c t u a l l y c o n t a i n e d i n c a n d d, s o t h e r s t M c o l u m n s o f B a r e

B = I M ∗

I M ∗ , ( 8 . 3 6 )

w h e r e t h e e n t r i e s ∗ a r e d e t e r m i n e d n e x t . F o r t h e b a s e e l e m e n t s sM +n, 0 ≤ n < M , w e h a v e

sM +n ≡ snm o d

sM − 1

,

sM +n ≡ −snm o d

sM + 1

,

( 8 . 3 7 )

w h i c h y i e l d s t h e n a l r e s u l t

B =

I M I M

I M

−I M

= DF T 2 ⊗ I M . ( 8 . 3 8 )

N e x t , w e c o n s i d e r s t e p ( 8 . 3 4 ) . C [s] /

sM − 1

i s d e c o m p o s e d b y DF T M a n d

C [s] /

sM + 1

b y DF T - 3 M i n ( 8 . 2 2 ) .

F i n a l l y , t h e p e r m u t a t i o n i n s t e p ( 8 . 3 5 ) i s t h e p e r f e c t s h u e LN M , w h i c h i n t e r l e a v e s t h e e v e n

a n d o d d s p e c t r a l c o m p o n e n t s ( e v e n a n d o d d e x p o n e n t s o f W N ) .

T h e n a l a l g o r i t h m o b t a i n e d i s

DF T 2M = LN M (DF T M ⊕ DF T - 3 M ) (DF T 2 ⊗ I M ) . ( 8 . 3 9 )

T o o b t a i n a b e t t e r k n o w n f o r m , w e u s e DF T - 3 M = DF T M DM , w i t h DM = diag0

≤i<M (W iN ) ,

w h i c h i s e v i d e n t f r o m ( 8 . 2 2 ) . I t y i e l d s

DF T 2M = LN M (DF T M ⊕ DF T M DM ) (DF T 2 ⊗ I M )

= LN M (I 2 ⊗ DF T M ) (I M ⊕ DM ) (DF T 2 ⊗ I M ) .

( 8 . 4 0 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 80/254

7 4

C H A P T E R 8 . D F T A N D F F T : A N A L G E B R A I C V I E W

T h e l a s t e x p r e s s i o n i s t h e r a d i x - 2 d e c i m a t i o n - i n - f r e q u e n c y C o o l e y - T u k e y F F T . T h e c o r -

r e s p o n d i n g d e c i m a t i o n - i n - t i m e v e r s i o n i s o b t a i n e d b y t r a n s p o s i t i o n u s i n g ( 8 . 3 1 ) a n d t h e

s y m m e t r y o f t h e D F T :

DF T 2M = (DF T 2 ⊗ I M ) (I M ⊕ DM ) (I 2 ⊗ DF T M ) LN 2 . ( 8 . 4 1 )

T h e e n t r i e s o f t h e d i a g o n a l m a t r i x I M ⊕ DM a r e c o m m o n l y c a l l e d t w i d d l e f a c t o r s .

T h e a b o v e m e t h o d f o r d e r i v i n g D F T a l g o r i t h m s i s u s e d e x t e n s i v e l y i n [ 2 6 8 ] .

8 . 2 . 3 G e n e r a l - r a d i x F F T

T o a l g e b r a i c a l l y d e r i v e t h e g e n e r a l - r a d i x F F T , w e u s e t h e d e c o m p o s i t i o n p r o p e r t y o f

sN − 1. N a m e l y , i f N = KM t h e n

sN − 1 =

sM K − 1. ( 8 . 4 2 )

D e c o m p o s i t i o n m e a n s t h a t t h e p o l y n o m i a l i s w r i t t e n a s t h e c o m p o s i t i o n o f t w o p o l y n o m i a l s :

h e r e , sM i s i n s e r t e d i n t o sK − 1. N o t e t h a t t h i s i s a s p e c i a l p r o p e r t y : m o s t p o l y n o m i a l s d o

n o t d e c o m p o s e .

B a s e d o n t h i s p o l y n o m i a l d e c o m p o s i t i o n , w e o b t a i n t h e f o l l o w i n g s t e p w i s e d e c o m p o s i t i o n

o f C [s] /

sN − 1

, w h i c h i s m o r e g e n e r a l t h a n t h e p r e v i o u s o n e i n ( 8 . 3 3 ) ( 8 . 3 5 ) . T h e b a s i c

i d e a i s t o r s t d e c o m p o s e w i t h r e s p e c t t o t h e o u t e r p o l y n o m i a l tK − 1 , t = sM , a n d t h e n

c o m p l e t e l y [ 2 9 2 ] :

C [s] /

sN − 1

= C [x] /

sM K − 1

→ ⊕

0≤i<K C [s] /

sM − W iK

( 8 . 4 3 )

→ ⊕0≤i<K

⊕0≤ j<M

C [s] /

x − W jK +iN

( 8 . 4 4 )

→ ⊕0≤i<N

C [s] / (x − W iN ) .( 8 . 4 5 )

A s b a s e s i n t h e s m a l l e r a l g e b r a s C [s] /

sM − W iK

w e c h o o s e ci =

1, s, · · · , sM −1

. A s

b e f o r e , t h e d e r i v a t i o n i s c o m p l e t e l y m e c h a n i c a l f r o m h e r e : o n l y t h e t h r e e m a t r i c e s c o r r e -

s p o n d i n g t o ( 8 . 4 3 ) ( 8 . 4 5 ) h a v e t o b e r e a d o .

T h e r s t d e c o m p o s i t i o n s t e p r e q u i r e s u s t o c o m p u t e snm o d

sM − W iK

, 0 ≤ n < N . T o

d o s o , w e d e c o m p o s e t h e i n d e x n a s n = M + m a n d c o m p u t e

sn = sM +m =

sM

sm ≡ W mk smm o d

sM − W iK

. ( 8 . 4 6 )

T h i s s h o w s t h a t t h e m a t r i x f o r ( 8 . 4 3 ) i s g i v e n b y DF T K ⊗ I M .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 81/254

7 5

I n s t e p ( 8 . 4 4 ) , e a c h C [s] /

sM − W iK

i s c o m p l e t e l y d e c o m p o s e d b y i t s p o l y n o m i a l t r a n s f o r m

DF T M (i, K ) = DF T M

·diag0

≤i<M W ijN . ( 8 . 4 7 )

A t t h i s p o i n t , C [s] /

sN − 1

i s c o m p l e t e l y d e c o m p o s e d , b u t t h e s p e c t r u m i s o r d e r e d a c -

c o r d i n g t o jK + i, 0 ≤ i < M , 0 ≤ j < K ( j r u n s f a s t e r ) . T h e d e s i r e d o r d e r i s iM + j .

T h u s , i n s t e p ( 8 . 4 5 ) , w e n e e d t o a p p l y t h e p e r m u t a t i o n jK + i → iM + j , w h i c h i s e x a c t l y

t h e s t r i d e p e r m u t a t i o n LN M i n ( 8 . 2 4 ) .

I n s u m m a r y , w e o b t a i n t h e C o o l e y - T u k e y d e c i m a t i o n - i n - f r e q u e n c y F F T w i t h a r b i t r a r y r a d i x :

LN M

0≤i<K DF T M · diagM −1

j=0

W ijN

(DF T k ⊗ I M )

= LN M (I K

⊗DF T M ) T N

M (DF T k⊗

I M ) .

( 8 . 4 8 )

T h e m a t r i x T N M i s d i a g o n a l a n d u s u a l l y c a l l e d t h e t w i d d l e m a t r i x . T r a n s p o s i t i o n u s i n g

( 8 . 3 1 ) y i e l d s t h e c o r r e s p o n d i n g d e c i m a t i o n - i n - t i m e v e r s i o n :

(DF T k ⊗ I M ) T N M (I K ⊗ DF T M ) LN

K . ( 8 . 4 9 )

8 . 3 D i s c u s s i o n a n d F u r t h e r R e a d i n g

T h i s c h a p t e r o n l y s c r a t c h e s t h e s u r f a c e o f t h e c o n n e c t i o n b e t w e e n a l g e b r a a n d t h e D F T o r

s i g n a l p r o c e s s i n g i n g e n e r a l . W e p r o v i d e a f e w r e f e r e n c e s f o r f u r t h e r r e a d i n g .

8 . 3 . 1 A l g e b r a i c D e r i v a t i o n o f T r a n s f o r m A l g o r i t h m s

A s m e n t i o n e d b e f o r e , t h e u s e o f p o l y n o m i a l a l g e b r a s a n d t h e C R T u n d e r l i e s m u c h o f t h e e a r l y

w o r k o n F F T s a n d c o n v o l u t i o n a l g o r i t h m s [ 4 0 9 ] , [ 2 6 8 ] , [ 1 2 ] . F o r e x a m p l e , W i n o g r a d ' s w o r k o n

F F T s m i n i m i z e s t h e n u m b e r o f n o n - r a t i o n a l m u l t i p l i c a t i o n s . T h i s a n d h i s w o r k o n c o m p l e x i t y

t h e o r y i n g e n e r a l m a k e s h e a v y u s e o f p o l y n o m i a l a l g e b r a s [ 4 0 9 ] , [ 4 1 4 ] , [ 4 1 7 ] ( s e e C h a p t e r

W i n o g r a d ' s S h o r t D F T A l g o r i t h m s ( C h a p t e r 7 ) f o r m o r e i n f o r m a t i o n a n d r e f e r e n c e s ) . S e e

[ 7 2 ] f o r a b r o a d t r e a t m e n t o f a l g e b r a i c c o m p l e x i t y t h e o r y .

S i n c e C [x] /

sN − 1

= C [C N ] c a n b e v i e w e d a g r o u p a l g e b r a f o r t h e c y c l i c g r o u p , t h e

m e t h o d s s h o w n i n t h i s c h a p t e r c a n b e t r a n s l a t e d i n t o t h e c o n t e x t o f g r o u p r e p r e s e n t a t i o n

t h e o r y . F o r e x a m p l e , [ 2 5 6 ] d e r i v e s t h e g e n e r a l - r a d i x F F T u s i n g g r o u p t h e o r y a n d a l s o u s e s

a l r e a d y t h e K r o n e c k e r p r o d u c t f o r m a l i s m . S o d o e s B e t h a n d s t a r t e d t h e a r e a o f F F T s

f o r m o r e g e n e r a l g r o u p s [ 2 3 ] , [ 2 3 1 ] . H o w e v e r , F o u r i e r t r a n s f o r m s f o r g r o u p s h a v e f o u n d o n l y

s p o r a d i c a p p l i c a t i o n s [ 3 1 7 ] . A l o n g a r e l a t e d l i n e o f w o r k , [ 1 1 7 ] s h o w s t h a t u s i n g g r o u p t h e o r y

i t i s p o s s i b l e t h a t t o d i s c o v e r a n d g e n e r a t e c e r t a i n a l g o r i t h m s f o r t r i g o n o m e t r i c t r a n s f o r m s ,

s u c h a s d i s c r e t e c o s i n e t r a n s f o r m s ( D C T s ) , a u t o m a t i c a l l y u s i n g a c o m p u t e r p r o g r a m .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 82/254

7 6

C H A P T E R 8 . D F T A N D F F T : A N A L G E B R A I C V I E W

M o r e r e c e n t l y , t h e p o l y n o m i a l a l g e b r a f r a m e w o r k w a s e x t e n d e d t o i n c l u d e m o s t t r i g o n o m e t r i c

t r a n s f o r m s u s e d i n s i g n a l p r o c e s s i n g [ 2 9 3 ] , [ 2 9 5 ] , n a m e l y , b e s i d e s t h e D F T , t h e d i s c r e t e c o s i n e

a n d s i n e t r a n s f o r m s a n d v a r i o u s r e a l D F T s i n c l u d i n g t h e d i s c r e t e H a r t l e y t r a n s f o r m . I t t u r n s

o u t t h a t t h e s a m e t e c h n i q u e s s h o w n i n t h i s c h a p t e r c a n t h e n b e a p p l i e d t o d e r i v e , e x p l a i n ,

a n d c l a s s i f y m o s t o f t h e k n o w n a l g o r i t h m s f o r t h e s e t r a n s f o r m s a n d e v e n o b t a i n a l a r g e

c l a s s o f n e w a l g o r i t h m s i n c l u d i n g g e n e r a l - r a d i x a l g o r i t h m s f o r t h e d i s c r e t e c o s i n e a n d s i n e

t r a n s f o r m s ( D C T s / D S T s ) [ 2 9 2 ] , [ 2 9 4 ] , [ 3 9 8 ] , [ 3 9 7 ] .

T h i s l a t t e r l i n e o f w o r k i s p a r t o f t h e a l g e b r a i c s i g n a l p r o c e s s i n g t h e o r y b r i e y d i s c u s s e d

n e x t .

8 . 3 . 2 A l g e b r a i c S i g n a l P r o c e s s i n g T h e o r y

T h e a l g e b r a i c p r o p e r t i e s o f t r a n s f o r m s u s e d i n t h e a b o v e w o r k o n a l g o r i t h m d e r i v a t i o n h i n t s

a t a c o n n e c t i o n b e t w e e n a l g e b r a a n d ( l i n e a r ) s i g n a l p r o c e s s i n g i t s e l f . T h i s i s i n d e e d t h e c a s e

a n d w a s f u l l y d e v e l o p e d i n a r e c e n t b o d y o f w o r k c a l l e d a l g e b r a i c s i g n a l p r o c e s s i n g t h e o r y

( A S P ) . T h e f o u n d a t i o n o f A S P i s d e v e l o p e d i n [ 2 9 5 ] , [ 2 9 3 ] , [ 2 9 1 ] .

A S P r s t i d e n t i e s t h e a l g e b r a i c s t r u c t u r e o f ( l i n e a r ) s i g n a l p r o c e s s i n g : t h e c o m m o n a s -

s u m p t i o n s o n a v a i l a b l e o p e r a t i o n s f o r l t e r s a n d s i g n a l s m a k e t h e s e t o f l t e r s a n a l g e b r a Aa n d t h e s e t o f s i g n a l s a n a s s o c i a t e d A- m o d u l e M. A S P t h e n b u i l d s a s i g n a l p r o c e s s i n g

t h e o r y f o r m a l l y f r o m t h e a x i o m a t i c d e n i t i o n o f a s i g n a l m o d e l : a t r i p l e (A, M, Φ), w h e r e

Φ g e n e r a l i z e s t h e i d e a o f t h e z - t r a n s f o r m t o m a p p i n g s f r o m v e c t o r s p a c e s o f s i g n a l v a l u e s

t o M. I f a s i g n a l m o d e l i s g i v e n , o t h e r c o n c e p t s , s u c h a s s p e c t r u m , F o u r i e r t r a n s f o r m , f r e -

q u e n c y r e s p o n s e a r e a u t o m a t i c a l l y d e n e d b u t t a k e d i e r e n t f o r m s f o r d i e r e n t m o d e l s . F o r

e x a m p l e , i n n i t e a n d n i t e t i m e a s d i s c u s s e d i n T a b l e 8 . 1 a r e t w o e x a m p l e s o f s i g n a l m o d e l s .

T h e i r c o m p l e t e d e n i t i o n i s p r o v i d e d i n T a b l e 8 . 2 a n d i d e n t i e s t h e p r o p e r n o t i o n o f a n i t e

z - t r a n s f o r m a s a m a p p i n g Cn → C [s] / (sn − 1) .

S i g n a l m o d e l I n n i t e t i m e F i n i t e t i m e

A n∈Z H (n) sn |(· · · , H (−1) , H (0) , H (1) , · · · ) ∈1 (Z)

C [x] / (sn − 1)

c o n t i n u e d o n n e x t p a g e

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 83/254

7 7

M n∈Z X (n) sn |(· · · , X (−1) , X (0) , X (1) , · · · ) ∈2 (Z)

C [s] / (sn − 1)

Φ Φ : 2 (Z) → M Φ : Cn → Md e n e d i n ( 8 . 1 ) d e n e d i n ( 8 . 4 )

T a b l e 8 . 2 : I n n i t e a n d n i t e t i m e m o d e l s a s d e n e d i n A S P .

A S P s h o w s t h a t m a n y s i g n a l m o d e l s a r e i n p r i n c i p l e p o s s i b l e , e a c h w i t h i t s o w n n o t i o n o f

l t e r i n g a n d F o u r i e r t r a n s f o r m . T h o s e t h a t s u p p o r t s h i f t - i n v a r i a n c e h a v e c o m m u t a t i v e a l g e -

b r a s . S i n c e n i t e - d i m e n s i o n a l c o m m u t a t i v e a l g e b r a s a r e p r e c i s e l y p o l y n o m i a l a l g e b r a s , t h e i r

a p p e a r a n c e i n s i g n a l p r o c e s s i n g i s e x p l a i n e d . F o r e x a m p l e , A S P i d e n t i e s t h e p o l y n o m i a l

a l g e b r a s u n d e r l y i n g t h e D C T s a n d D S T s , w h i c h h e n c e b e c o m e F o u r i e r t r a n s f o r m s i n t h e A S P

s e n s e . T h e s i g n a l m o d e l s a r e c a l l e d n i t e s p a c e m o d e l s s i n c e t h e y s u p p o r t s i g n a l p r o c e s s i n g

b a s e d o n a n u n d i r e c t e d s h i f t o p e r a t o r , d i e r e n t f r o m t h e d i r e c t e d t i m e s h i f t . M a n y m o r e

i n s i g h t s a r e p r o v i d e d b y A S P i n c l u d i n g t h e n e e d f o r a n d c h o i c e s i n c h o o s i n g b o u n d a r y c o n -

d i t i o n s , p r o p e r t i e s o f t r a n s f o r m s , t e c h n i q u e s f o r d e r i v i n g n e w s i g n a l m o d e l s , a n d t h e c o n c i s e

d e r i v a t i o n o f a l g o r i t h m s m e n t i o n e d b e f o r e .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 84/254

7 8

C H A P T E R 8 . D F T A N D F F T : A N A L G E B R A I C V I E W

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 85/254

C h a p t e r 9

T h e C o o l e y - T u k e y F a s t F o u r i e r

T r a n s f o r m A l g o r i t h m

1

T h e p u b l i c a t i o n b y C o o l e y a n d T u k e y [ 9 0 ] i n 1 9 6 5 o f a n e c i e n t a l g o r i t h m f o r t h e c a l c u l a t i o n

o f t h e D F T w a s a m a j o r t u r n i n g p o i n t i n t h e d e v e l o p m e n t o f d i g i t a l s i g n a l p r o c e s s i n g . D u r i n g

t h e v e o r s o y e a r s t h a t f o l l o w e d , v a r i o u s e x t e n s i o n s a n d m o d i c a t i o n s w e r e m a d e t o t h e

o r i g i n a l a l g o r i t h m [ 9 5 ] . B y t h e e a r l y 1 9 7 0 ' s t h e p r a c t i c a l p r o g r a m s w e r e b a s i c a l l y i n t h e

f o r m u s e d t o d a y . T h e s t a n d a r d d e v e l o p m e n t p r e s e n t e d i n [ 2 7 4 ] , [ 2 9 9 ] , [ 3 8 ] s h o w s h o w t h e

D F T o f a l e n g t h - N s e q u e n c e c a n b e s i m p l y c a l c u l a t e d f r o m t h e t w o l e n g t h - N / 2 D F T ' s o f

t h e e v e n i n d e x t e r m s a n d t h e o d d i n d e x t e r m s . T h i s i s t h e n a p p l i e d t o t h e t w o h a l f - l e n g t h

D F T ' s t o g i v e f o u r q u a r t e r - l e n g t h D F T ' s , a n d r e p e a t e d u n t i l N s c a l a r s a r e l e f t w h i c h a r e t h e

D F T v a l u e s . B e c a u s e o f a l t e r n a t e l y t a k i n g t h e e v e n a n d o d d i n d e x t e r m s , t w o f o r m s o f t h e

r e s u l t i n g p r o g r a m s a r e c a l l e d d e c i m a t i o n - i n - t i m e a n d d e c i m a t i o n - i n - f r e q u e n c y . F o r a l e n g t h

o f 2M , t h e d i v i d i n g p r o c e s s i s r e p e a t e d M = log2N t i m e s a n d r e q u i r e s N m u l t i p l i c a t i o n s

e a c h t i m e . T h i s g i v e s t h e f a m o u s f o r m u l a f o r t h e c o m p u t a t i o n a l c o m p l e x i t y o f t h e F F T o f

Nlog2N w h i c h w a s d e r i v e d i n M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 3 4 ( 3 . 3 4 ) .

A l t h o u g h t h e d e c i m a t i o n m e t h o d s a r e s t r a i g h t f o r w a r d a n d e a s y t o u n d e r s t a n d , t h e y d o

n o t g e n e r a l i z e w e l l . F o r t h a t r e a s o n i t w i l l b e a s s u m e d t h a t t h e r e a d e r i s f a m i l i a r w i t h t h a t

d e s c r i p t i o n a n d t h i s c h a p t e r w i l l d e v e l o p t h e F F T u s i n g t h e i n d e x m a p f r o m M u l t i d i m e n s i o n a l

I n d e x M a p p i n g ( C h a p t e r 3 ) .

T h e C o o l e y - T u k e y F F T a l w a y s u s e s t h e T y p e 2 i n d e x m a p f r o m M u l t i d i m e n s i o n a l I n d e x

M a p p i n g : E q u a t i o n 1 1 ( 3 . 1 1 ) . T h i s i s n e c e s s a r y f o r t h e m o s t p o p u l a r f o r m s t h a t h a v e

N = RM , b u t i s a l s o u s e d e v e n w h e n t h e f a c t o r s a r e r e l a t i v e l y p r i m e a n d a T y p e 1 m a p c o u l d

b e u s e d . T h e t i m e a n d f r e q u e n c y m a p s f r o m M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 6

( 3 . 6 ) a n d M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 2 ( 3 . 1 2 ) a r e

n = ((K 1n1 + K 2n2))N ( 9 . 1 )

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 4 / 1 . 1 3 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7 9

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 86/254

8 0

C H A P T E R 9 . T H E C O O L E Y - T U K E Y F A S T F O U R I E R

T R A N S F O R M A L G O R I T H M

k = ((K 3k1 + K 4k2))N ( 9 . 2 )

T y p e - 2 c o n d i t i o n s M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 8 ( 3 . 8 ) a n d M u l t i d i m e n s i o n a l

I n d e x M a p p i n g : E q u a t i o n 1 1 ( 3 . 1 1 ) b e c o m e

K 1 = aN 2 o r K 2 = bN 1 b u t n o t b o t h ( 9 . 3 )

a n d

K 3 = cN 2 o r K 4 = dN 1 b u t n o t b o t h ( 9 . 4 )

T h e r o w a n d c o l u m n c a l c u l a t i o n s i n M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 5 ( 3 . 1 5 )

a r e u n c o u p l e d b y M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 6 ( 3 . 1 6 ) w h i c h f o r t h i s c a s e

a r e

((K 1K 4))N = 0 o r ((K 2K 3))N = 0 b u t n o t b o t h ( 9 . 5 )

T o m a k e e a c h s h o r t s u m a D F T , t h e K i m u s t s a t i s f y

((K 1K 3))N = N 2 a n d ((K 2K 4))N = N 1 ( 9 . 6 )

I n o r d e r t o h a v e t h e s m a l l e s t v a l u e s f o r K i t h e c o n s t a n t s i n ( 9 . 3 ) a r e c h o s e n t o b e

a = d = K 2 = K 3 = 1 ( 9 . 7 )

w h i c h m a k e s t h e i n d e x m a p s o f ( 9 . 1 ) b e c o m e

n = N 2n1 + n2 ( 9 . 8 )

k = k1 + N 1k2 ( 9 . 9 )

T h e s e i n d e x m a p s a r e a l l e v a l u a t e d m o d u l o N , b u t i n ( 9 . 8 ) , e x p l i c i t r e d u c t i o n i s n o t n e c -

e s s a r y s i n c e n n e v e r e x c e e d s N . T h e r e d u c t i o n n o t a t i o n w i l l b e o m i t t e d f o r c l a r i t y . F r o m

M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 5 ( 3 . 1 5 ) a n d e x a m p l e M u l t i d i m e n s i o n a l I n d e x

M a p p i n g : E q u a t i o n 1 9 ( 3 . 1 9 ) , t h e D F T i s

X =

N 2−1n2=0

N 1−1n1=0x W

n1k1

N 1 W

n2k1

N W

n2k2

N 2( 9 . 1 0 )

T h i s m a p o f ( 9 . 8 ) a n d t h e f o r m o f t h e D F T i n ( 9 . 1 0 ) a r e t h e f u n d a m e n t a l s o f t h e C o o l e y -

T u k e y F F T .

T h e o r d e r o f t h e s u m m a t i o n s u s i n g t h e T y p e 2 m a p i n ( 9 . 1 0 ) c a n n o t b e r e v e r s e d a s i t c a n

w i t h t h e T y p e - 1 m a p . T h i s i s b e c a u s e o f t h e W N t e r m s , t h e t w i d d l e f a c t o r s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 87/254

8 1

T u r n i n g ( 9 . 1 0 ) i n t o a n e c i e n t p r o g r a m r e q u i r e s s o m e c a r e . F r o m M u l t i d i m e n s i o n a l I n d e x

M a p p i n g : E c i e n c i e s R e s u l t i n g f r o m I n d e x M a p p i n g w i t h t h e D F T ( S e c t i o n 3 . 3 : E c i e n c i e s

R e s u l t i n g f r o m I n d e x M a p p i n g w i t h t h e D F T ) w e k n o w t h a t a l l t h e f a c t o r s s h o u l d b e e q u a l .

I f N = RM , w i t h R c a l l e d t h e r a d i x , N 1 i s r s t s e t e q u a l t o R a n d N 2 i s t h e n n e c e s s a r i l y

RM −1. C o n s i d e r n1 t o b e t h e i n d e x a l o n g t h e r o w s a n d n2 a l o n g t h e c o l u m n s . T h e i n n e r

s u m o f ( 9 . 1 0 ) o v e r n1 r e p r e s e n t s a l e n g t h - N 1 D F T f o r e a c h v a l u e o f n2 . T h e s e N 2 l e n g t h -

N 1 D F T ' s a r e t h e D F T ' s o f t h e r o w s o f t h e x (n1, n2) a r r a y . T h e r e s u l t i n g a r r a y o f r o w

D F T ' s i s m u l t i p l i e d b y a n a r r a y o f t w i d d l e f a c t o r s w h i c h a r e t h e W N t e r m s i n ( 9 . 1 0 ) . T h e

t w i d d l e - f a c t o r a r r a y f o r a l e n g t h - 8 r a d i x - 2 F F T i s

T F : W n2k18 =

W 0 W 0

W 0 W 1

W 0 W 2

W 0 W 3

=

1 1

1 W

1−

j

1 − jW

( 9 . 1 1 )

T h e t w i d d l e f a c t o r a r r a y w i l l a l w a y s h a v e u n i t y i n t h e r s t r o w a n d r s t c o l u m n .

T o c o m p l e t e ( 9 . 1 0 ) a t t h i s p o i n t , a f t e r t h e r o w D F T ' s a r e m u l t i p l i e d b y t h e T F a r r a y , t h e N 1l e n g t h - N 2 D F T ' s o f t h e c o l u m n s a r e c a l c u l a t e d . H o w e v e r , s i n c e t h e c o l u m n s D F T ' s a r e o f

l e n g t h RM −1, t h e y c a n b e p o s e d a s a RM −2

b y R a r r a y a n d t h e p r o c e s s r e p e a t e d , a g a i n u s i n g

l e n g t h - R D F T ' s . A f t e r M s t a g e s o f l e n g t h - R D F T ' s w i t h T F m u l t i p l i c a t i o n s i n t e r l e a v e d ,

t h e D F T i s c o m p l e t e . T h e o w g r a p h o f a l e n g t h - 2 D F T i s g i v e n i n F i g u r e 1 ( 7 . 1 8 ) a n d i s

c a l l e d a b u t t e r y b e c a u s e o f i t s s h a p e . T h e o w g r a p h o f t h e c o m p l e t e l e n g t h - 8 r a d i x - 2 F F T

i s s h o w n i n F i g u r e 2 ( 7 . 1 9 ) .

X(0) = x(0) + x(1)

X(0) = x(0) - x(1)

x(0)

x(1)

F i g u r e 9 . 1 : A R a d i x - 2 B u t t e r y

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 88/254

8 2

C H A P T E R 9 . T H E C O O L E Y - T U K E Y F A S T F O U R I E R

T R A N S F O R M A L G O R I T H M

x7

x6

x5

x4

x3

x2

x1

x0

x7

x3

x5

x1

x6

x2

x4

x0

-

-

-

-

-

-

-

- -

-

-

-

W0

W0

W0

W1

W2

W3

W2

W2

F i g u r e 9 . 2 : L e n g t h - 8 R a d i x - 2 F F T F l o w G r a p h

T h i s o w - g r a p h , t h e t w i d d l e f a c t o r m a p o f ( 9 . 1 1 ) , a n d t h e b a s i c e q u a t i o n ( 9 . 1 0 ) s h o u l d b e

c o m p l e t e l y u n d e r s t o o d b e f o r e g o i n g f u r t h e r .

A v e r y e c i e n t i n d e x i n g s c h e m e h a s e v o l v e d o v e r t h e y e a r s t h a t r e s u l t s i n a c o m p a c t a n d

e c i e n t c o m p u t e r p r o g r a m . A F O R T R A N p r o g r a m i s g i v e n b e l o w t h a t i m p l e m e n t s t h e

r a d i x - 2 F F T . I t s h o u l d b e s t u d i e d [ 6 4 ] t o s e e h o w i t i m p l e m e n t s ( 9 . 1 0 ) a n d t h e o w - g r a p h

r e p r e s e n t a t i o n .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 89/254

8 3

N 2 = N

D O 1 0 K = 1 , M

N 1 = N 2

N 2 = N 2 / 2

E = 6 . 2 8 3 1 8 / N 1

A = 0

D O 2 0 J = 1 , N 2

C = C O S ( A )

S = - S I N ( A )

A = J * E

D O 3 0 I = J , N , N 1

L = I + N 2

X T = X ( I ) - X ( L )

X ( I ) = X ( I ) + X ( L )

Y T = Y ( I ) - Y ( L )

Y ( I ) = Y ( I ) + Y ( L )

X ( L ) = X T * C - Y T * S

Y ( L ) = X T * S + Y T * C

3 0 C O N T I N U E

2 0 C O N T I N U E

1 0 C O N T I N U E

L i s t i n g 9 . 1 : A R a d i x - 2 C o o l e y - T u k e y F F T P r o g r a m

T h i s d i s c u s s i o n , t h e o w g r a p h o f W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : F i g u r e 2 ( F i g u r e 7 . 2 )

a n d t h e p r o g r a m o f p . ? ? a r e a l l b a s e d o n t h e i n p u t i n d e x m a p o f M u l t i d i m e n s i o n a l I n d e x

M a p p i n g : E q u a t i o n 6 ( 3 . 6 ) a n d ( 9 . 1 ) a n d t h e c a l c u l a t i o n s a r e p e r f o r m e d i n - p l a c e . A c c o r d -

i n g t o M u l t i d i m e n s i o n a l I n d e x M a p p i n g : I n - P l a c e C a l c u l a t i o n o f t h e D F T a n d S c r a m b l i n g

( S e c t i o n 3 . 2 : I n - P l a c e C a l c u l a t i o n o f t h e D F T a n d S c r a m b l i n g ) , t h i s m e a n s t h e o u t p u t i s

s c r a m b l e d i n b i t - r e v e r s e d o r d e r a n d s h o u l d b e f o l l o w e d b y a n u n s c r a m b l e r t o g i v e t h e D F T

i n p r o p e r o r d e r . T h i s f o r m u l a t i o n i s c a l l e d a d e c i m a t i o n - i n - f r e q u e n c y F F T [ 2 7 4 ] , [ 2 9 9 ] , [ 3 8 ] .

A v e r y s i m i l a r a l g o r i t h m b a s e d o n t h e o u t p u t i n d e x m a p c a n b e d e r i v e d w h i c h i s c a l l e d a

d e c i m a t i o n - i n - t i m e F F T . E x a m p l e s o f F F T p r o g r a m s a r e f o u n d i n [ 6 4 ] a n d i n t h e A p p e n d i x

o f t h i s b o o k .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 90/254

8 4

C H A P T E R 9 . T H E C O O L E Y - T U K E Y F A S T F O U R I E R

T R A N S F O R M A L G O R I T H M

9 . 1 M o d i c a t i o n s t o t h e B a s i c C o o l e y - T u k e y F F T

S o o n a f t e r t h e p a p e r b y C o o l e y a n d T u k e y , t h e r e w e r e i m p r o v e m e n t s a n d e x t e n s i o n s m a d e .

O n e v e r y i m p o r t a n t d i s c o v e r y w a s t h e i m p r o v e m e n t i n e c i e n c y b y u s i n g a l a r g e r r a d i x o f

4 , 8 o r e v e n 1 6 . F o r e x a m p l e , j u s t a s f o r t h e r a d i x - 2 b u t t e r y , t h e r e a r e n o m u l t i p l i c a t i o n s

r e q u i r e d f o r a l e n g t h - 4 D F T , a n d t h e r e f o r e , a r a d i x - 4 F F T w o u l d h a v e o n l y t w i d d l e f a c t o r

m u l t i p l i c a t i o n s . B e c a u s e t h e r e a r e h a l f a s m a n y s t a g e s i n a r a d i x - 4 F F T , t h e r e w o u l d b e h a l f

a s m a n y m u l t i p l i c a t i o n s a s i n a r a d i x - 2 F F T . I n p r a c t i c e , b e c a u s e s o m e o f t h e m u l t i p l i c a t i o n s

a r e b y u n i t y , t h e i m p r o v e m e n t i s n o t b y a f a c t o r o f t w o , b u t i t i s s i g n i c a n t . A r a d i x - 4 F F T

i s e a s i l y d e v e l o p e d f r o m t h e b a s i c r a d i x - 2 s t r u c t u r e b y r e p l a c i n g t h e l e n g t h - 2 b u t t e r y b y

a l e n g t h - 4 b u t t e r y a n d m a k i n g a f e w o t h e r m o d i c a t i o n s . P r o g r a m s c a n b e f o u n d i n [ 6 4 ]

a n d o p e r a t i o n c o u n t s w i l l b e g i v e n i n " E v a l u a t i o n o f t h e C o o l e y - T u k e y F F T A l g o r i t h m s "

( S e c t i o n 9 . 3 : E v a l u a t i o n o f t h e C o o l e y - T u k e y F F T A l g o r i t h m s ) .

I n c r e a s i n g t h e r a d i x t o 8 g i v e s s o m e i m p r o v e m e n t b u t n o t a s m u c h a s f r o m 2 t o 4 . I n c r e a s i n g

i t t o 1 6 i s t h e o r e t i c a l l y p r o m i s i n g b u t t h e s m a l l d e c r e a s e i n m u l t i p l i c a t i o n s i s s o m e w h a t

o s e t b y a n i n c r e a s e i n a d d i t i o n s a n d t h e p r o g r a m b e c o m e s r a t h e r l o n g . O t h e r r a d i c e s a r e

n o t a t t r a c t i v e b e c a u s e t h e y g e n e r a l l y r e q u i r e a s u b s t a n t i a l n u m b e r o f m u l t i p l i c a t i o n s a n d

a d d i t i o n s i n t h e b u t t e r i e s .

T h e s e c o n d m e t h o d o f r e d u c i n g a r i t h m e t i c i s t o r e m o v e t h e u n n e c e s s a r y T F m u l t i p l i c a t i o n s

b y p l u s o r m i n u s u n i t y o r b y p l u s o r m i n u s t h e s q u a r e r o o t o f m i n u s o n e . T h i s o c c u r s

w h e n t h e e x p o n e n t o f W N i s z e r o o r a m u l t i p l e o f N/4. A r e d u c t i o n o f a d d i t i o n s a s w e l l

a s m u l t i p l i c a t i o n s i s a c h i e v e d b y r e m o v i n g t h e s e e x t r a n e o u s c o m p l e x m u l t i p l i c a t i o n s s i n c e

a c o m p l e x m u l t i p l i c a t i o n r e q u i r e s a t l e a s t t w o r e a l a d d i t i o n s . I n a p r o g r a m , t h i s r e d u c t i o n

i s u s u a l l y a c h i e v e d b y h a v i n g s p e c i a l b u t t e r i e s f o r t h e c a s e s w h e r e t h e T F i s o n e o r j . A s

m a n y a s f o u r s p e c i a l b u t t e r i e s m a y b e n e c e s s a r y t o r e m o v e a l l u n n e c e s s a r y a r i t h m e t i c , b u t

i n m a n y c a s e s t h e r e w i l l b e n o p r a c t i c a l i m p r o v e m e n t a b o v e t w o o r t h r e e .

I n a d d i t i o n t o r e m o v i n g m u l t i p l i c a t i o n s b y o n e o r j , t h e r e c a n b e a r e d u c t i o n i n m u l t i p l i c a -

t i o n s b y u s i n g a s p e c i a l b u t t e r y f o r T F s w i t h W N/8 , w h i c h h a v e e q u a l r e a l a n d i m a g i n a r y

p a r t s . A l s o , f o r c o m p u t e r s o r h a r d w a r e w i t h m u l t i p l i c a t i o n c o n s i d e r a b l y s l o w e r t h a n a d -

d i t i o n , i t i s d e s i r a b l e t o u s e a n a l g o r i t h m f o r c o m p l e x m u l t i p l i c a t i o n t h a t r e q u i r e s t h r e e

m u l t i p l i c a t i o n s a n d t h r e e a d d i t i o n s r a t h e r t h a n t h e c o n v e n t i o n a l f o u r m u l t i p l i c a t i o n s a n d

t w o a d d i t i o n s . N o t e t h a t t h i s g i v e s n o r e d u c t i o n i n t h e t o t a l n u m b e r o f a r i t h m e t i c o p e r a -

t i o n s , b u t d o e s g i v e a t r a d e o f m u l t i p l i c a t i o n s f o r a d d i t i o n s . T h i s i s o n e r e a s o n n o t t o u s e

c o m p l e x d a t a t y p e s i n p r o g r a m s b u t t o e x p l i c i t l y p r o g r a m c o m p l e x a r i t h m e t i c .

A t i m e - c o n s u m i n g a n d u n n e c e s s a r y p a r t o f t h e e x e c u t i o n o f a F F T p r o g r a m i s t h e c a l c u l a t i o n

o f t h e s i n e a n d c o s i n e t e r m s w h i c h a r e t h e r e a l a n d i m a g i n a r y p a r t s o f t h e T F s . T h e r e a r e

b a s i c a l l y t h r e e a p p r o a c h e s t o o b t a i n i n g t h e s i n e a n d c o s i n e v a l u e s . T h e y c a n b e c a l c u l a t e d

a s n e e d e d w h i c h i s w h a t i s d o n e i n t h e s a m p l e p r o g r a m a b o v e . O n e v a l u e p e r s t a g e c a n b e

c a l c u l a t e d a n d t h e o t h e r s r e c u r s i v e l y c a l c u l a t e d f r o m t h o s e . T h a t m e t h o d i s f a s t b u t s u e r s

f r o m a c c u m u l a t e d r o u n d - o e r r o r s . T h e f a s t e s t m e t h o d i s t o f e t c h p r e c a l c u l a t e d v a l u e s f r o m

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 91/254

8 5

a s t o r e d t a b l e . T h i s h a s t h e d i s a d v a n t a g e o f r e q u i r i n g c o n s i d e r a b l e m e m o r y s p a c e .

I f a l l t h e N D F T v a l u e s a r e n o t n e e d e d , s p e c i a l f o r m s o f t h e F F T c a n b e d e v e l o p e d u s i n g

a p r o c e s s c a l l e d p r u n i n g [ 2 2 6 ] w h i c h r e m o v e s t h e o p e r a t i o n s c o n c e r n e d w i t h t h e u n n e e d e d

o u t p u t s .

S p e c i a l a l g o r i t h m s a r e p o s s i b l e f o r c a s e s w i t h r e a l d a t a o r w i t h s y m m e t r i c d a t a [ 8 2 ] . T h e

d e c i m a t i o n - i n - t i m e a l g o r i t h m c a n b e e a s i l y m o d i e d t o t r a n s f o r m r e a l d a t a a n d s a v e h a l f t h e

a r i t h m e t i c r e q u i r e d f o r c o m p l e x d a t a [ 3 5 7 ] . T h e r e a r e n u m e r o u s o t h e r m o d i c a t i o n s t o d e a l

w i t h s p e c i a l h a r d w a r e c o n s i d e r a t i o n s s u c h a s a n a r r a y p r o c e s s o r o r a s p e c i a l m i c r o p r o c e s s o r

s u c h a s t h e T e x a s I n s t r u m e n t s T M S 3 2 0 . E x a m p l e s o f p r o g r a m s t h a t d e a l w i t h s o m e o f t h e s e

i t e m s c a n b e f o u n d i n [ 2 9 9 ] , [ 6 4 ] , [ 8 2 ] .

9 . 2 T h e S p l i t - R a d i x F F T A l g o r i t h m

R e c e n t l y s e v e r a l p a p e r s [ 2 2 8 ] , [ 1 0 6 ] , [ 3 9 3 ] , [ 3 5 0 ] , [ 1 0 2 ] h a v e b e e n p u b l i s h e d o n a l g o r i t h m s t o

c a l c u l a t e a l e n g t h - 2M D F T m o r e e c i e n t l y t h a n a C o o l e y - T u k e y F F T o f a n y r a d i x . T h e y

a l l h a v e t h e s a m e c o m p u t a t i o n a l c o m p l e x i t y a n d a r e o p t i m a l f o r l e n g t h s u p t h r o u g h 1 6 a n d

u n t i l r e c e n t l y w a s t h o u g h t t o g i v e t h e b e s t t o t a l a d d - m u l t i p l y c o u n t p o s s i b l e f o r a n y p o w e r -

o f - t w o l e n g t h . Y a v n e p u b l i s h e d a n a l g o r i t h m w i t h t h e s a m e c o m p u t a t i o n a l c o m p l e x i t y i n

1 9 6 8 [ 4 2 1 ] , b u t i t w e n t l a r g e l y u n n o t i c e d . J o h n s o n a n d F r i g o h a v e r e c e n t l y r e p o r t e d t h e

r s t i m p r o v e m e n t i n a l m o s t 4 0 y e a r s [ 2 0 1 ] . T h e r e d u c t i o n i n t o t a l o p e r a t i o n s i s o n l y a f e w

p e r c e n t , b u t i t i s a r e d u c t i o n .

T h e b a s i c i d e a b e h i n d t h e s p l i t - r a d i x F F T ( S R F F T ) a s d e r i v e d b y D u h a m e l a n d H o l l m a n n

[ 1 0 6 ] , [ 1 0 2 ] i s t h e a p p l i c a t i o n o f a r a d i x - 2 i n d e x m a p t o t h e e v e n - i n d e x e d t e r m s a n d a r a d i x - 4

m a p t o t h e o d d - i n d e x e d t e r m s . T h e b a s i c d e n i t i o n o f t h e D F T

C k =N −1n=0

xn W nk ( 9 . 1 2 )

w i t h W = e− j2π/N g i v e s

C 2k =

N/2−1

n=0 xn + xn+N/2

W 2nk ( 9 . 1 3 )

f o r t h e e v e n i n d e x t e r m s , a n d

C 4k+1 =

N/4−1n=0

xn − xn+N/2

− j

xn+N/4 − xn+3N/4

W n W 4nk ( 9 . 1 4 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 92/254

8 6

C H A P T E R 9 . T H E C O O L E Y - T U K E Y F A S T F O U R I E R

T R A N S F O R M A L G O R I T H M

a n d

C 4k+3 =

N/4−1n=0

xn − xn+N/2

+ j

xn+N/4 − xn+3N/4

W

3n

W 4nk

( 9 . 1 5 )

f o r t h e o d d i n d e x t e r m s . T h i s r e s u l t s i n a n L - s h a p e d b u t t e r y " s h o w n i n F i g u r e 9 . 3

w h i c h r e l a t e s a l e n g t h - N D F T t o o n e l e n g t h - N / 2 D F T a n d t w o l e n g t h - N / 4 D F T ' s w i t h

t w i d d l e f a c t o r s . R e p e a t i n g t h i s p r o c e s s f o r t h e h a l f a n d q u a r t e r l e n g t h D F T ' s u n t i l s c a l a r s

r e s u l t g i v e s t h e S R F F T a l g o r i t h m i n m u c h t h e s a m e w a y t h e d e c i m a t i o n - i n - f r e q u e n c y r a d i x - 2

C o o l e y - T u k e y F F T i s d e r i v e d [ 2 7 4 ] , [ 2 9 9 ] , [ 3 8 ] . T h e r e s u l t i n g o w g r a p h f o r t h e a l g o r i t h m

c a l c u l a t e d i n p l a c e l o o k s l i k e a r a d i x - 2 F F T e x c e p t f o r t h e l o c a t i o n o f t h e t w i d d l e f a c t o r s .

I n d e e d , i t i s t h e l o c a t i o n o f t h e t w i d d l e f a c t o r s t h a t m a k e s t h i s a l g o r i t h m u s e l e s s a r i t h m e t i c .

T h e L - s h a p e d S R F F T b u t t e r y F i g u r e 9 . 3 a d v a n c e s t h e c a l c u l a t i o n o f t h e t o p h a l f b y o n e

o f t h e M s t a g e s w h i l e t h e l o w e r h a l f , l i k e a r a d i x - 4 b u t t e r y , c a l c u l a t e s t w o s t a g e s a t o n c e .

T h i s i s i l l u s t r a t e d f o r N = 8 i n F i g u r e 9 . 4 .

j-

-

-

F i g u r e 9 . 3 : S R F F T B u t t e r y

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 93/254

8 7

j

j

j

w

w3

F i g u r e 9 . 4 : L e n g t h - 8 S R F F T

U n l i k e t h e x e d r a d i x , m i x e d r a d i x o r v a r i a b l e r a d i x C o o l e y - T u k e y F F T o r e v e n t h e p r i m e

f a c t o r a l g o r i t h m o r W i n o g r a d F o u r i e r t r a n s f o r m a l g o r i t h m , t h e S p l i t - R a d i x F F T d o e s n o t

p r o g r e s s c o m p l e t e l y s t a g e b y s t a g e , o r , i n t e r m s o f i n d i c e s , d o e s n o t c o m p l e t e e a c h n e s t e d

s u m i n o r d e r . T h i s i s p e r h a p s b e t t e r s e e n f r o m t h e p o l y n o m i a l f o r m u l a t i o n o f M a r t e n s

[ 2 2 8 ] . B e c a u s e o f t h i s , t h e i n d e x i n g i s s o m e w h a t m o r e c o m p l i c a t e d t h a n t h e c o n v e n t i o n a l

C o o l e y - T u k e y p r o g r a m .

A F O R T R A N p r o g r a m i s g i v e n b e l o w w h i c h i m p l e m e n t s t h e b a s i c d e c i m a t i o n - i n - f r e q u e n c y

s p l i t - r a d i x F F T a l g o r i t h m . T h e i n d e x i n g s c h e m e [ 3 5 0 ] o f t h i s p r o g r a m g i v e s a s t r u c t u r e

v e r y s i m i l a r t o t h e C o o l e y - T u k e y p r o g r a m s i n [ 6 4 ] a n d a l l o w s t h e s a m e m o d i c a t i o n s a n d

i m p r o v e m e n t s s u c h a s d e c i m a t i o n - i n - t i m e , m u l t i p l e b u t t e r i e s , t a b l e l o o k - u p o f s i n e a n d

c o s i n e v a l u e s , t h r e e r e a l p e r c o m p l e x m u l t i p l y m e t h o d s , a n d r e a l d a t a v e r s i o n s [ 1 0 2 ] , [ 3 5 7 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 94/254

8 8

C H A P T E R 9 . T H E C O O L E Y - T U K E Y F A S T F O U R I E R

T R A N S F O R M A L G O R I T H M

S U B R O U T I N E F F T ( X , Y , N , M )

N 2 = 2 * N

D O 1 0 K = 1 , M - 1

N 2 = N 2 / 2

N 4 = N 2 / 4

E = 6 . 2 8 3 1 8 5 3 0 7 1 7 9 5 8 6 / N 2

A = 0

D O 2 0 J = 1 , N 4

A 3 = 3 * A

C C 1 = C O S ( A )

S S 1 = S I N ( A )

C C 3 = C O S ( A 3 )

S S 3 = S I N ( A 3 )

A = J * E

I S = J

I D = 2 * N 2

4 0 D O 3 0 I 0 = I S , N - 1 , I D

I 1 = I 0 + N 4

I 2 = I 1 + N 4

I 3 = I 2 + N 4

R 1 = X ( I 0 ) - X ( I 2 )

X ( I 0 ) = X ( I 0 ) + X ( I 2 )

R 2 = X ( I 1 ) - X ( I 3 )

X ( I 1 ) = X ( I 1 ) + X ( I 3 )

S 1 = Y ( I 0 ) - Y ( I 2 )

Y ( I 0 ) = Y ( I 0 ) + Y ( I 2 )

S 2 = Y ( I 1 ) - Y ( I 3 )

Y ( I 1 ) = Y ( I 1 ) + Y ( I 3 )

S 3 = R 1 - S 2

R 1 = R 1 + S 2

S 2 = R 2 - S 1

R 2 = R 2 + S 1

X ( I 2 ) = R 1 * C C 1 - S 2 * S S 1

Y ( I 2 ) = - S 2 * C C 1 - R 1 * S S 1

X ( I 3 ) = S 3 * C C 3 + R 2 * S S 3

Y ( I 3 ) = R 2 * C C 3 - S 3 * S S 3

3 0 C O N T I N U E

I S = 2 * I D - N 2 + J

I D = 4 * I D

I F ( I S . L T . N ) G O T O 4 0

2 0 C O N T I N U E

1 0 C O N T I N U E

I S = 1

I D = 4

5 0 D O 6 0 I 0 = I S , N , I D

I 1 = I 0 + 1

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 95/254

8 9

A s w a s d o n e f o r t h e o t h e r d e c i m a t i o n - i n - f r e q u e n c y a l g o r i t h m s , t h e i n p u t i n d e x m a p i s u s e d

a n d t h e c a l c u l a t i o n s a r e d o n e i n p l a c e r e s u l t i n g i n t h e o u t p u t b e i n g i n b i t - r e v e r s e d o r d e r .

I t i s t h e t h r e e s t a t e m e n t s f o l l o w i n g l a b e l 3 0 t h a t d o t h e s p e c i a l i n d e x i n g r e q u i r e d b y t h e

S R F F T . T h e l a s t s t a g e i s l e n g t h - 2 a n d , t h e r e f o r e , i n a p p r o p r i a t e f o r t h e s t a n d a r d L - s h a p e d

b u t t e r y , s o i t i s c a l c u l a t e d s e p a r a t e l y i n t h e D O 6 0 l o o p . T h i s p r o g r a m i s c o n s i d e r e d a o n e -

b u t t e r y v e r s i o n . A s e c o n d b u t t e r y c a n b e a d d e d j u s t b e f o r e s t a t e m e n t 4 0 t o r e m o v e t h e

u n n e c e s s a r y m u l t i p l i c a t i o n s b y u n i t y . A t h i r d b u t t e r y c a n b e a d d e d t o r e d u c e t h e n u m b e r

o f r e a l m u l t i p l i c a t i o n s f r o m f o u r t o t w o f o r t h e c o m p l e x m u l t i p l i c a t i o n w h e n W h a s e q u a l r e a l

a n d i m a g i n a r y p a r t s . I t i s a l s o p o s s i b l e t o r e d u c e t h e a r i t h m e t i c f o r t h e t w o - b u t t e r y c a s e

a n d t o r e d u c e t h e d a t a t r a n s f e r s b y d i r e c t l y p r o g r a m m i n g a l e n g t h - 4 a n d l e n g t h - 8 b u t t e r y

t o r e p l a c e t h e l a s t t h r e e s t a g e s . T h i s i s c a l l e d a t w o - b u t t e r y - p l u s v e r s i o n . O p e r a t i o n c o u n t s

f o r t h e o n e , t w o , t w o - p l u s a n d t h r e e b u t t e r y S R F F T p r o g r a m s a r e g i v e n i n t h e n e x t s e c t i o n .

S o m e d e t a i l s c a n b e f o u n d i n [ 3 5 0 ] .

T h e s p e c i a l c a s e o f a S R F F T f o r r e a l d a t a a n d s y m m e t r i c d a t a i s d i s c u s s e d i n [ 1 0 2 ] . A n

a p p l i c a t i o n o f t h e d e c i m a t i o n - i n - t i m e S R F F T t o r e a l d a t a i s g i v e n i n [ 3 5 7 ] . A p p l i c a t i o n t o

c o n v o l u t i o n i s m a d e i n [ 1 1 0 ] , t o t h e d i s c r e t e H a r t l e y t r a n s f o r m i n [ 3 5 2 ] , [ 1 1 0 ] , t o c a l c u l a t i n g

t h e d i s c r e t e c o s i n e t r a n s f o r m i n [ 3 9 3 ] , a n d c o u l d b e m a d e t o c a l c u l a t i n g n u m b e r t h e o r e t i c

t r a n s f o r m s .

A n i m p r o v e m e n t i n o p e r a t i o n c o u n t h a s b e e n r e p o r t e d b y J o h n s o n a n d F r i g o [ 2 0 1 ] w h i c h

i n v o l v e s a s c a l i n g o f m u l t i p l y i n g f a c t o r s . T h e i m p r o v e m e n t i s s m a l l b u t u n t i l t h i s r e s u l t , i t

w a s g e n e r a l l y t h o u g h t t h e S p l i t - R a d i x F F T w a s o p t i m a l f o r t o t a l o a t i n g p o i n t o p e r a t i o n

c o u n t .

9 . 3 E v a l u a t i o n o f t h e C o o l e y - T u k e y F F T A l g o r i t h m s

T h e e v a l u a t i o n o f a n y F F T a l g o r i t h m s t a r t s w i t h a c o u n t o f t h e r e a l ( o r o a t i n g p o i n t )

a r i t h m e t i c . T a b l e 9 . 1 g i v e s t h e n u m b e r o f r e a l m u l t i p l i c a t i o n s a n d a d d i t i o n s r e q u i r e d t o

c a l c u l a t e a l e n g t h - N F F T o f c o m p l e x d a t a . R e s u l t s o f p r o g r a m s w i t h o n e , t w o , t h r e e a n d

v e b u t t e r i e s a r e g i v e n t o s h o w t h e i m p r o v e m e n t t h a t c a n b e e x p e c t e d f r o m r e m o v i n g

u n n e c e s s a r y m u l t i p l i c a t i o n s a n d a d d i t i o n s . R e s u l t s o f r a d i c e s t w o , f o u r , e i g h t a n d s i x t e e n

f o r t h e C o o l e y - T u k e y F F T a s w e l l a s o f t h e s p l i t - r a d i x F F T a r e g i v e n t o s h o w t h e r e l a t i v e

m e r i t s o f t h e v a r i o u s s t r u c t u r e s . C o m p a r i s o n s o f t h e s e d a t a s h o u l d b e m a d e w i t h t h e t a b l e

o f c o u n t s f o r t h e P F A a n d W F T A p r o g r a m s i n T h e P r i m e F a c t o r a n d W i n o g r a d F o u r i e r

T r a n s f o r m A l g o r i t h m s : E v a l u a t i o n o f t h e P F A a n d W F T A ( S e c t i o n 1 0 . 4 : E v a l u a t i o n o f t h e

P F A a n d W F T A ) . A l l p r o g r a m s u s e t h e f o u r - m u l t i p l y - t w o - a d d c o m p l e x m u l t i p l y a l g o r i t h m .

A s i m i l a r t a b l e c a n b e d e v e l o p e d f o r t h e t h r e e - m u l t i p l y - t h r e e - a d d a l g o r i t h m , b u t t h e r e l a t i v e

r e s u l t s a r e t h e s a m e .

F r o m t h e t a b l e i t i s s e e n t h a t a g r e a t e r i m p r o v e m e n t i s o b t a i n e d g o i n g f r o m r a d i x - 2 t o 4 t h a n

f r o m 4 t o 8 o r 1 6 . T h i s i s p a r t l y b e c a u s e l e n g t h 2 a n d 4 b u t t e r i e s h a v e n o m u l t i p l i c a t i o n s

w h i l e l e n g t h 8 , 1 6 a n d h i g h e r d o . I t i s a l s o s e e n t h a t g o i n g f r o m o n e t o t w o b u t t e r i e s g i v e s

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 96/254

9 0

C H A P T E R 9 . T H E C O O L E Y - T U K E Y F A S T F O U R I E R

T R A N S F O R M A L G O R I T H M

m o r e i m p r o v e m e n t t h a n g o i n g f r o m t w o t o h i g h e r v a l u e s . F r o m a n o p e r a t i o n c o u n t p o i n t o f

v i e w a n d f r o m p r a c t i c a l e x p e r i e n c e , a t h r e e b u t t e r y r a d i x - 4 o r a t w o b u t t e r y r a d i x - 8 F F T

i s a g o o d c o m p r o m i s e . T h e r a d i x - 8 a n d 1 6 p r o g r a m s b e c o m e l o n g , e s p e c i a l l y w i t h m u l t i p l e

b u t t e r i e s , a n d t h e y g i v e a l i m i t e d c h o i c e o f t r a n s f o r m l e n g t h u n l e s s c o m b i n e d w i t h s o m e

l e n g t h 2 a n d 4 b u t t e r i e s .

N M 1 M 2 M 3 M 5 A 1 A 2 A 3 A 5

2 4 0 0 0 6 4 4 4

4 1 6 4 0 0 2 4 1 8 1 6 1 6

8 4 8 2 0 8 4 7 2 5 8 5 2 5 2

1 6 1 2 8 6 8 4 0 2 8 1 9 2 1 6 2 1 4 8 1 4 8

3 2 3 2 0 1 9 6 1 3 6 1 0 8 4 8 0 4 1 8 3 8 8 3 8 8

6 4 7 6 8 5 1 6 3 9 2 3 3 2 1 1 5 2 1 0 2 6 9 6 4 9 6 4

1 2 8 1 7 9 2 1 2 8 4 1 0 3 2 9 0 8 2 6 8 8 2 4 3 4 2 3 0 8 2 3 0 8

2 5 6 4 0 9 6 3 0 7 6 2 5 6 8 2 3 1 6 6 1 4 4 5 6 3 4 5 3 8 0 5 3 8 0

5 1 2 9 2 1 6 7 1 7 2 6 1 5 2 5 6 4 4 1 3 8 2 4 1 2 8 0 2 1 2 2 9 2 1 2 2 9 2

1 0 2 4 2 0 4 8 0 1 6 3 8 8 1 4 3 4 4 1 3 3 2 4 3 0 7 2 0 2 8 6 7 4 2 7 6 5 2 2 7 6 5 2

2 0 4 8 4 5 0 5 6 3 6 8 6 8 3 2 7 7 6 3 0 7 3 2 6 7 5 8 4 6 3 4 9 0 6 1 4 4 4 6 1 4 4 4

4 0 9 6 9 8 3 0 4 8 1 9 2 4 7 3 7 3 6 6 9 6 4 4 1 4 7 4 5 6 1 3 9 2 6 6 1 3 5 1 7 2 1 3 5 1 7 2

4 1 2 0 0 0 2 2 1 6 1 6 1 6

1 6 9 6 3 6 2 8 2 4 1 7 6 1 4 6 1 4 4 1 4 4

6 4 5 7 6 3 2 4 2 8 4 2 6 4 1 0 5 6 9 3 0 9 2 0 9 2 0

2 5 6 3 0 7 2 2 0 5 2 1 8 8 4 1 8 0 0 5 6 3 2 5 1 2 2 5 0 8 0 5 0 8 0

1 0 2 4 1 5 3 6 0 1 1 2 6 8 1 0 5 8 8 1 0 2 4 8 2 8 1 6 0 2 6 1 1 4 2 5 9 4 4 2 5 9 4 4

c o n t i n u e d o n n e x t p a g e

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 97/254

9 1

4 0 9 6 7 3 7 2 8 5 7 3 4 8 5 4 6 2 0 5 3 2 5 6 1 3 5 1 6 8 1 2 6 9 7 8 1 2 6 2 9 6 1 2 6 2 9 6

8 3 2 4 4 4 6 6 5 2 5 2 5 2

6 4 5 1 2 2 6 0 2 5 2 2 4 8 1 0 5 6 9 3 0 9 2 8 9 2 8

5 1 2 6 1 4 4 4 1 0 0 4 0 2 8 3 9 9 2 1 2 6 7 2 1 1 6 5 0 1 1 6 3 2 1 1 6 3 2

4 0 9 6 6 5 5 3 6 4 9 1 5 6 4 8 5 7 2 4 8 2 8 0 1 3 5 1 6 8 1 2 6 9 7 8 1 2 6 8 3 2 1 2 6 8 3 2

1 6 8 0 2 0 2 0 2 0 1 7 8 1 4 8 1 4 8 1 4 8

2 5 6 2 5 6 0 1 5 4 0 1 5 3 2 1 5 2 8 5 6 9 6 5 1 8 6 5 1 8 4 5 1 8 4

4 0 9 6 6 1 4 4 0 4 5 0 6 0 4 4 9 2 4 4 4 8 5 6 1 3 6 7 0 4 1 2 8 5 1 4 1 2 8 4 8 0 1 2 8 4 8 0

2 0 0 0 0 4 4 4 4

4 8 0 0 0 2 0 1 6 1 6 1 6

8 2 4 8 4 4 6 0 5 2 5 2 5 2

1 6 7 2 3 2 2 8 2 4 1 6 4 1 4 4 1 4 4 1 4 4

3 2 1 8 4 1 0 4 9 2 8 4 4 1 2 3 7 2 3 7 2 3 7 2

6 4 4 5 6 2 8 8 2 6 8 2 4 8 9 9 6 9 1 2 9 1 2 9 1 2

1 2 8 1 0 8 0 7 4 4 7 0 0 6 6 0 2 3 3 2 2 1 6 4 2 1 6 4 2 1 6 4

2 5 6 2 5 0 4 1 8 2 4 1 7 4 0 1 6 5 6 5 3 4 8 5 0 0 8 5 0 0 8 5 0 0 8

5 1 2 5 6 8 8 4 3 2 8 4 1 5 6 3 9 8 8 1 2 0 6 0 1 1 3 8 0 1 1 3 8 0 1 1 3 8 0

1 0 2 4 1 2 7 4 4 1 0 0 1 6 9 6 7 6 9 3 3 6 2 6 8 5 2 2 5 4 8 8 2 5 4 8 8 2 5 4 8 8

2 0 4 8 2 8 2 1 6 2 2 7 6 0 2 2 0 7 6 2 1 3 9 6 5 9 1 6 4 5 6 4 3 6 5 6 4 3 6 5 6 4 3 6

4 0 9 6 6 1 8 9 6 5 0 9 7 6 4 9 6 1 2 4 8 2 4 8 1 2 9 2 5 2 1 2 3 7 9 2 1 2 3 7 9 2 1 2 3 7 9 2

T a b l e 9 . 1 : N u m b e r o f R e a l M u l t i p l i c a t i o n s a n d A d d i t i o n s f o r C o m p l e x S i n g l e R a d i x F F T s

I n T a b l e 9 . 1 M i a n d A i r e f e r t o t h e n u m b e r o f r e a l m u l t i p l i c a t i o n s a n d r e a l a d d i t i o n s u s e d

b y a n F F T w i t h i s e p a r a t e l y w r i t t e n b u t t e r i e s . T h e r s t b l o c k h a s t h e c o u n t s f o r R a d i x -

2 , t h e s e c o n d f o r R a d i x - 4 , t h e t h i r d f o r R a d i x - 8 , t h e f o u r t h f o r R a d i x - 1 6 , a n d t h e l a s t f o r

t h e S p l i t - R a d i x F F T . F o r t h e s p l i t - r a d i x F F T , M 3 a n d A 3 r e f e r t o t h e t w o - b u t t e r y - p l u s

p r o g r a m a n d M 5 a n d A 5 r e f e r t o t h e t h r e e - b u t t e r y p r o g r a m .

T h e r s t e v a l u a t i o n s o f F F T a l g o r i t h m s w e r e i n t e r m s o f t h e n u m b e r o f r e a l m u l t i p l i c a t i o n s

r e q u i r e d a s t h a t w a s t h e s l o w e s t o p e r a t i o n o n t h e c o m p u t e r a n d , t h e r e f o r e , c o n t r o l l e d t h e

e x e c u t i o n s p e e d . L a t e r w i t h h a r d w a r e a r i t h m e t i c b o t h t h e n u m b e r o f m u l t i p l i c a t i o n s a n d

a d d i t i o n s b e c a m e i m p o r t a n t . M o d e r n s y s t e m s h a v e a r i t h m e t i c s p e e d s s u c h t h a t i n d e x i n g

a n d d a t a t r a n s f e r t i m e s b e c o m e i m p o r t a n t f a c t o r s . M o r r i s [ 2 4 9 ] h a s l o o k e d a t s o m e o f

t h e s e p r o b l e m s a n d h a s d e v e l o p e d a p r o c e d u r e c a l l e d a u t o g e n t o w r i t e p a r t i a l l y s t r a i g h t - l i n e

p r o g r a m c o d e t o s i g n i c a n t l y r e d u c e o v e r h e a d a n d s p e e d u p F F T r u n t i m e s . S o m e h a r d w a r e ,

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 98/254

9 2

C H A P T E R 9 . T H E C O O L E Y - T U K E Y F A S T F O U R I E R

T R A N S F O R M A L G O R I T H M

s u c h a s t h e T M S 3 2 0 s i g n a l p r o c e s s i n g c h i p , h a s t h e m u l t i p l y a n d a d d o p e r a t i o n s c o m b i n e d .

S o m e m a c h i n e s h a v e v e c t o r i n s t r u c t i o n s o r h a v e p a r a l l e l p r o c e s s o r s . B e c a u s e t h e e x e c u t i o n

s p e e d o f a n F F T d e p e n d s n o t o n l y o n t h e a l g o r i t h m , b u t a l s o o n t h e h a r d w a r e a r c h i t e c t u r e

a n d c o m p i l e r , e x p e r i m e n t s m u s t b e r u n o n t h e s y s t e m t o b e u s e d .

I n m a n y c a s e s t h e u n s c r a m b l e r o r b i t - r e v e r s e - c o u n t e r r e q u i r e s 1 0 % o f t h e e x e c u t i o n t i m e ,

t h e r e f o r e , i f p o s s i b l e , i t s h o u l d b e e l i m i n a t e d . I n h i g h - s p e e d c o n v o l u t i o n w h e r e t h e c o n v o -

l u t i o n i s d o n e b y m u l t i p l i c a t i o n o f D F T ' s , a d e c i m a t i o n - i n - f r e q u e n c y F F T c a n b e c o m b i n e d

w i t h a d e c i m a t i o n - i n - t i m e i n v e r s e F F T t o r e q u i r e n o u n s c r a m b l e r . I t i s a l s o p o s s i b l e f o r a

r a d i x - 2 F F T t o d o t h e u n s c r a m b l i n g i n s i d e t h e F F T b u t t h e s t r u c t u r e i s n o t v e r y r e g u l a r

[ 2 9 9 ] , [ 1 9 3 ] . S p e c i a l s t r u c t u r e s c a n b e f o u n d i n [ 2 9 9 ] a n d p r o g r a m s f o r d a t a t h a t a r e r e a l o r

h a v e s p e c i a l s y m m e t r i e s a r e i n [ 8 2 ] , [ 1 0 2 ] , [ 3 5 7 ] .

A l t h o u g h t h e r e c a n b e s i g n i c a n t d i e r e n c e s i n t h e e c i e n c i e s o f t h e v a r i o u s C o o l e y - T u k e y

a n d S p l i t - R a d i x F F T s , t h e n u m b e r o f m u l t i p l i c a t i o n s a n d a d d i t i o n s f o r a l l o f t h e m i s o n t h e

o r d e r o f NlogN . T h a t i s f u n d a m e n t a l t o t h e c l a s s o f a l g o r i t h m s .

9 . 4 T h e Q u i c k F o u r i e r T r a n s f o r m , A n F F T b a s e d o n S y m -

m e t r i e s

T h e d e v e l o p m e n t o f f a s t a l g o r i t h m s u s u a l l y c o n s i s t s o f u s i n g s p e c i a l p r o p e r t i e s o f t h e a l g o -

r i t h m o f i n t e r e s t t o r e m o v e r e d u n d a n t o r u n n e c e s s a r y o p e r a t i o n s o f a d i r e c t i m p l e m e n t a t i o n .

T h e d i s c r e t e F o u r i e r t r a n s f o r m ( D F T ) d e n e d b y

C (k) =N −1n=0

x (n) W nkN ( 9 . 1 6 )

w h e r e

W N = e− j2π/N ( 9 . 1 7 )

h a s e n o r m o u s c a p a c i t y f o r i m p r o v e m e n t o f i t s a r i t h m e t i c e c i e n c y . M o s t f a s t a l g o r i t h m s u s e

t h e p e r i o d i c a n d s y m m e t r i c p r o p e r t i e s o f i t s b a s i s f u n c t i o n s . T h e c l a s s i c a l C o o l e y - T u k e y F F T

a n d p r i m e f a c t o r F F T [ 6 4 ] e x p l o i t t h e p e r i o d i c p r o p e r t i e s o f t h e c o s i n e a n d s i n e f u n c t i o n s .

T h e i r u s e o f t h e p e r i o d i c i t i e s t o s h a r e a n d , t h e r e f o r e , r e d u c e a r i t h m e t i c o p e r a t i o n s d e p e n d s

o n t h e f a c t o r a b i l i t y o f t h e l e n g t h o f t h e d a t a t o b e t r a n s f o r m e d . F o r h i g h l y c o m p o s i t e l e n g t h s ,

t h e n u m b e r o f o a t i n g - p o i n t o p e r a t i o n i s o f o r d e r N log (N ) a n d f o r p r i m e l e n g t h s i t i s o f

o r d e r N 2 .

T h i s s e c t i o n w i l l l o o k a t a n a p p r o a c h u s i n g t h e s y m m e t r i c p r o p e r t i e s t o r e m o v e r e d u n d a n c i e s .

T h i s p o s s i b i l i t y h a s l o n g b e e n r e c o g n i z e d [ 1 7 6 ] , [ 2 1 1 ] , [ 3 4 4 ] , [ 2 7 0 ] b u t h a s n o t b e e n d e v e l o p e d

i n a n y s y s t e m a t i c w a y i n t h e o p e n l i t e r a t u r e . W e w i l l d e v e l o p a n a l g o r i t h m , c a l l e d t h e q u i c k

F o u r i e r t r a n s f o r m ( Q F T ) [ 2 1 1 ] , t h a t w i l l r e d u c e t h e n u m b e r o f o a t i n g p o i n t o p e r a t i o n s

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 99/254

9 3

n e c e s s a r y t o c o m p u t e t h e D F T b y a f a c t o r o f t w o t o f o u r o v e r d i r e c t m e t h o d s o r G o e r t z e l ' s

m e t h o d f o r p r i m e l e n g t h s . I n d e e d , i t s e e m s t h e b e s t g e n e r a l a l g o r i t h m a v a i l a b l e f o r p r i m e

l e n g t h D F T s . O n e c a n a l w a y s d o b e t t e r b y u s i n g W i n o g r a d t y p e a l g o r i t h m s b u t t h e y m u s t

b e i n d i v i d u a l l y d e s i g n e d f o r e a c h l e n g t h . T h e C h i r p Z - t r a n s f o r m c a n b e u s e d f o r l o n g e r

l e n g t h s .

9 . 4 . 1 I n p u t a n d O u t p u t S y m m e t r i e s

W e u s e t h e f a c t t h a t t h e c o s i n e i s a n e v e n f u n c t i o n a n d t h e s i n e i s a n o d d f u n c t i o n . T h e

k e r n e l o f t h e D F T o r t h e b a s i s f u n c t i o n s o f t h e e x p a n s i o n i s g i v e n b y

W nkN = e− j2πnk/N = cos (2πnk/N ) + j sin (2πnk/N ) ( 9 . 1 8 )

w h i c h h a s a n e v e n r e a l p a r t a n d o d d i m a g i n a r y p a r t . I f t h e d a t a x (n) a r e d e c o m p o s e d i n t o

t h e i r r e a l a n d i m a g i n a r y p a r t s a n d t h o s e i n t o t h e i r e v e n a n d o d d p a r t s , w e h a v e

x (n) = u (n) + j v (n) = [ue (n) + uo (n)] + j [ve (n) + vo (n)] ( 9 . 1 9 )

w h e r e t h e e v e n p a r t o f t h e r e a l p a r t o f x (n) i s g i v e n b y

ue (n) = (u (n) + u (−n)) /2 ( 9 . 2 0 )

a n d t h e o d d p a r t o f t h e r e a l p a r t i s

uo (n) = (u (n) − u (−n)) /2 ( 9 . 2 1 )

w i t h c o r r e s p o n d i n g d e n i t i o n s o f

ve (n)a n d

vo (n). U s i n g C o n v o l u t i o n A l g o r i t h m s : E q u a t i o n

3 2 ( 1 3 . 3 2 ) w i t h a s i m p l e r n o t a t i o n , t h e D F T o f C o n v o l u t i o n A l g o r i t h m s : E q u a t i o n 2 9 ( 1 3 . 2 9 )

b e c o m e s

C (k) =N −1n=0

(u + j v) (cos − jsin) . ( 9 . 2 2 )

T h e s u m o v e r a n i n t e g r a l n u m b e r o f p e r i o d s o f a n o d d f u n c t i o n i s z e r o a n d t h e s u m o f a n

e v e n f u n c t i o n o v e r h a l f o f t h e p e r i o d i s o n e h a l f t h e s u m o v e r t h e w h o l e p e r i o d . T h i s c a u s e s

( 9 . 1 6 ) a n d ( 9 . 2 2 ) t o b e c o m e

C (k) =

N/2

−1

n=0

[ue cos + vo sin] + j [ve cos − vo sin] . ( 9 . 2 3 )

f o r k = 0, 1, 2, · · · , N − 1.

T h e e v a l u a t i o n o f t h e D F T u s i n g e q u a t i o n ( 9 . 2 3 ) r e q u i r e s h a l f a s m a n y r e a l m u l t i p l i c a t i o n

a n d h a l f a s m a n y r e a l a d d i t i o n s a s e v a l u a t i n g i t u s i n g ( 9 . 1 6 ) o r ( 9 . 2 2 ) . W e h a v e e x p l o i t e d

t h e s y m m e t r i e s o f t h e s i n e a n d c o s i n e a s f u n c t i o n s o f t h e t i m e i n d e x n. T h i s i s i n d e p e n d e n t

o f w h e t h e r t h e l e n g t h i s c o m p o s i t e o r n o t . A n o t h e r v i e w o f t h i s f o r m u l a t i o n i s t h a t w e h a v e

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 100/254

9 4

C H A P T E R 9 . T H E C O O L E Y - T U K E Y F A S T F O U R I E R

T R A N S F O R M A L G O R I T H M

u s e d t h e p r o p e r t y o f a s s o c i a t i v e l y o f m u l t i p l i c a t i o n a n d a d d i t i o n . I n o t h e r w o r d s , r a t h e r

t h a n m u l t i p l y t w o d a t a p o i n t s b y t h e s a m e v a l u e o f a s i n e o r c o s i n e t h e n a d d t h e r e s u l t s , o n e

s h o u l d a d d t h e d a t a p o i n t s r s t t h e n m u l t i p l y t h e s u m b y t h e s i n e o r c o s i n e w h i c h r e q u i r e s

o n e r a t h e r t h a n t w o m u l t i p l i c a t i o n s .

N e x t w e t a k e a d v a n t a g e o f t h e s y m m e t r i e s o f t h e s i n e a n d c o s i n e a s f u n c t i o n s o f t h e f r e q u e n c y

i n d e x k . U s i n g t h e s e s y m m e t r i e s o n ( 9 . 2 3 ) g i v e s

C (k) =

N/2−1n=0

[ue cos + vo sin] + j [ve cos − vo sin] ( 9 . 2 4 )

C (N − k) =

N/2−1n=0

[ue cos − vo sin] + j [ve cos + vo sin] . ( 9 . 2 5 )

f o r

k = 0, 1, 2, · · · , N/2 − 1. T h i s a g a i n r e d u c e s t h e n u m b e r o f o p e r a t i o n s b y a f a c t o r o f

t w o , t h i s t i m e b e c a u s e i t c a l c u l a t e s t w o o u t p u t v a l u e s a t a t i m e . T h e r s t r e d u c t i o n b y a

f a c t o r o f t w o i s a l w a y s a v a i l a b l e . T h e s e c o n d i s p o s s i b l e o n l y i f b o t h D F T v a l u e s a r e n e e d e d .

I t i s n o t a v a i l a b l e i f y o u a r e c a l c u l a t i n g o n l y o n e D F T v a l u e . T h e a b o v e d e v e l o p m e n t h a s

n o t d e a l t w i t h t h e d e t a i l s t h a t a r i s e w i t h t h e d i e r e n c e b e t w e e n a n e v e n a n d a n o d d l e n g t h .

T h a t i s s t r a i g h t f o r w a r d .

9 . 4 . 2 F u r t h e r R e d u c t i o n s i f t h e L e n g t h i s E v e n

I f t h e l e n g t h o f t h e s e q u e n c e t o b e t r a n s f o r m e d i s e v e n , t h e r e a r e f u r t h e r s y m m e t r i e s t h a t

c a n b e e x p l o i t e d . T h e r e w i l l b e f o u r d a t a v a l u e s t h a t a r e a l l m u l t i p l i e d b y p l u s o r m i n u s t h e

s a m e s i n e o r c o s i n e v a l u e . T h i s m e a n s a m o r e c o m p l i c a t e d p r e - a d d i t i o n p r o c e s s w h i c h i s a

g e n e r a l i z a t i o n o f t h e s i m p l e c a l c u l a t i o n o f t h e e v e n a n d o d d p a r t s i n ( 9 . 2 0 ) a n d ( 9 . 2 1 ) w i l l

r e d u c e t h e s i z e o f t h e o r d e r N 2 p a r t o f t h e a l g o r i t h m b y s t i l l a n o t h e r f a c t o r o f t w o o r f o u r . I t

t h e l e n g t h i s d i v i s i b l e b y 4 , t h e p r o c e s s c a n b e r e p e a t e d . I n d e e d , i t t h e l e n g t h i s a p o w e r o f

2 , o n e c a n s h o w t h i s p r o c e s s i s e q u i v a l e n t t o c a l c u l a t i n g t h e D F T i n t e r m s o f d i s c r e t e c o s i n e

a n d s i n e t r a n s f o r m s [ 1 5 6 ] , [ 1 5 9 ] w i t h a r e s u l t i n g a r i t h m e t i c c o m p l e x i t y o f o r d e r N log (N )a n d w i t h a s t r u c t u r e t h a t i s w e l l s u i t e d t o r e a l d a t a c a l c u l a t i o n s a n d p r u n i n g .

I f t h e o w - g r a p h o f t h e C o o l e y - T u k e y F F T i s c o m p a r e d t o t h e o w - g r a p h o f t h e Q F T , o n e

n o t i c e s b o t h s i m i l a r i t i e s a n d d i e r e n c e s . B o t h p r o g r e s s i n s t a g e s a s t h e l e n g t h i s c o n t i n u a l l y

d i v i d e d b y t w o . T h e C o o l e y - T u k e y a l g o r i t h m u s e s t h e p e r i o d i c p r o p e r t i e s o f t h e s i n e a n d

c o s i n e t o g i v e t h e f a m i l i a r h o r i z o n t a l t r e e o f b u t t e r i e s . T h e p a r a l l e l d i a g o n a l l i n e s i n t h i s

g r a p h r e p r e s e n t t h e p a r a l l e l s t e p p i n g t h r o u g h t h e d a t a i n s y n c h r o n i s m w i t h t h e p e r i o d i c b a s i s

f u n c t i o n s . T h e Q F T h a s d i a g o n a l l i n e s t h a t c o n n e c t t h e r s t d a t a p o i n t w i t h t h e l a s t , t h e n

t h e s e c o n d w i t h t h e n e x t t o l a s t , a n d s o o n t o g i v e a s t a r " l i k e p i c t u r e . T h i s i s i n t e r e s t i n g i n

t h a t o n e c a n l o o k a t t h e o w g r a p h o f a n a l g o r i t h m d e v e l o p e d b y s o m e c o m p l e t e l y d i e r e n t

s t r a t e g y a n d o f t e n n d s e c t i o n w i t h t h e p a r a l l e l s t r u c t u r e s a n d o t h e r p a r t s w i t h t h e s t a r

s t r u c t u r e . T h e s e m u s t b e u s i n g s o m e u n d e r l y i n g p e r i o d i c a n d s y m m e t r i c p r o p e r t i e s o f t h e

b a s i s f u n c t i o n s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 101/254

9 5

9 . 4 . 3 A r i t h m e t i c C o m p l e x i t y a n d T i m i n g s

A c a r e f u l a n a l y s i s o f t h e Q F T s h o w s t h a t 2N a d d i t i o n s a r e n e c e s s a r y t o c o m p u t e t h e e v e n a n d

o d d p a r t s o f t h e i n p u t d a t a . T h i s i s f o l l o w e d b y t h e l e n g t h

N/2i n n e r p r o d u c t t h a t r e q u i r e s

4(N/2)2 = N 2 r e a l m u l t i p l i c a t i o n s a n d a n e q u a l n u m b e r o f a d d i t i o n s . T h i s i s f o l l o w e d b y t h e

c a l c u l a t i o n s n e c e s s a r y f o r t h e s i m u l t a n e o u s c a l c u l a t i o n s o f t h e r s t h a l f a n d l a s t h a l f o f C (k)w h i c h r e q u i r e s 4 (N/2) = 2N r e a l a d d i t i o n s . T h i s m e a n s t h e t o t a l Q F T a l g o r i t h m r e q u i r e s

M 2 r e a l m u l t i p l i c a t i o n s a n d N 2 + 4N r e a l a d d i t i o n s . T h e s e n u m b e r s a l o n g w i t h t h o s e f o r

t h e G o e r t z e l a l g o r i t h m [ 5 2 ] , [ 6 4 ] , [ 2 7 0 ] a n d t h e d i r e c t c a l c u l a t i o n o f t h e D F T a r e i n c l u d e d

i n t h e f o l l o w i n g t a b l e . O f t h e v a r i o u s o r d e r - N 2 D F T a l g o r i t h m s , t h e Q F T s e e m s t o b e t h e

m o s t e c i e n t g e n e r a l m e t h o d f o r a n a r b i t r a r y l e n g t h N .

A l g o r i t h m R e a l M u l t s . R e a l A d d s T r i g E v a l .

D i r e c t D F T 4 N 2 4 N 2 2 N 2

M o d . 2 n d O r d e r G o e r t z e l N 2 + N 2 N 2 + N N

Q F T N 2 N 2 + 4N 2N

T a b l e 9 . 2

T i m i n g s o f t h e a l g o r i t h m s o n a P C i n m i l l i s e c o n d s a r e g i v e n i n t h e f o l l o w i n g t a b l e .

A l g o r i t h m N = 125 N = 256

D i r e c t D F T 4 . 9 0 1 9 . 8 3

M o d . 2 O . G o e r t z e l 1 . 3 2 5 . 5 5

Q F T 1 . 0 9 4 . 5 0

C h i r p + F F T 1 . 7 0 3 . 5 2

T a b l e 9 . 3

T h e s e t i m i n g s t r a c k t h e o a t i n g p o i n t o p e r a t i o n c o u n t s f a i r l y w e l l .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 102/254

9 6

C H A P T E R 9 . T H E C O O L E Y - T U K E Y F A S T F O U R I E R

T R A N S F O R M A L G O R I T H M

9 . 4 . 4 C o n c l u s i o n s

T h e Q F T i s a s t r a i g h t - f o r w a r d D F T a l g o r i t h m t h a t u s e s a l l o f t h e p o s s i b l e s y m m e t r i e s o f

t h e D F T b a s i s f u n c t i o n w i t h n o r e q u i r e m e n t s o n t h e l e n g t h b e i n g c o m p o s i t e . T h e s e i d e a s

h a v e b e e n p r o p o s e d b e f o r e , b u t h a v e n o t b e e n p u b l i s h e d o r c l e a r l y d e v e l o p e d b y [ 2 1 1 ] , [ 3 4 4 ] ,

[ 3 4 2 ] , [ 1 6 8 ] . I t s e e m s t h a t t h e b a s i c Q F T i s p r a c t i c a l a n d u s e f u l a s a g e n e r a l a l g o r i t h m

f o r l e n g t h s u p t o a h u n d r e d o r s o . A b o v e t h a t , t h e c h i r p z - t r a n s f o r m [ 6 4 ] o r o t h e r l t e r

b a s e d m e t h o d s w i l l b e s u p e r i o r . F o r s p e c i a l c a s e s a n d s h o r t e r l e n g t h s , m e t h o d s b a s e d o n

W i n o g r a d ' s t h e o r i e s w i l l a l w a y s b e s u p e r i o r . N e v e r t h e l e s s , t h e Q F T h a s a d e n i t e p l a c e i n

t h e a r r a y o f D F T a l g o r i t h m s a n d i s n o t w e l l k n o w n . A F o r t r a n p r o g r a m i s i n c l u d e d i n t h e

a p p e n d i x .

I t i s p o s s i b l e , b u t u n l i k e l y , t h a t f u r t h e r a r i t h m e t i c r e d u c t i o n c o u l d b e a c h i e v e d u s i n g t h e

f a c t t h a t W N h a s u n i t y m a g n i t u d e a s w a s d o n e i n s e c o n d - o r d e r G o e r t z e l a l g o r i t h m . I t i s

a l s o p o s s i b l e t h a t s o m e w a y o f c o m b i n i n g t h e G o e r t z e l a n d Q F T a l g o r i t h m w o u l d h a v e s o m e

a d v a n t a g e s . A d e v e l o p m e n t o f a c o m p l e t e Q F T d e c o m p o s i t i o n o f a D F T o f l e n g t h - 2M s h o w s

i n t e r e s t i n g s t r u c t u r e [ 1 5 6 ] , [ 1 5 9 ] a n d a r i t h m e t i c c o m p l e x i t y c o m p a r a b l e t o a v e r a g e C o o l e y -

T u k e y F F T s . I t d o e s s e e m b e t t e r s u i t e d t o r e a l d a t a c a l c u l a t i o n s w i t h p r u n i n g .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 103/254

C h a p t e r 1 0

T h e P r i m e F a c t o r a n d W i n o g r a d F o u r i e r

T r a n s f o r m A l g o r i t h m s

1

T h e p r i m e f a c t o r a l g o r i t h m ( P F A ) a n d t h e W i n o g r a d F o u r i e r t r a n s f o r m a l g o r i t h m ( W F T A )

a r e m e t h o d s f o r e c i e n t l y c a l c u l a t i n g t h e D F T w h i c h u s e , a n d i n f a c t , d e p e n d o n t h e T y p e - 1

i n d e x m a p f r o m M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 0 ( 3 . 1 0 ) a n d M u l t i d i m e n s i o n a l

I n d e x M a p p i n g : E q u a t i o n 6 ( 3 . 6 ) . T h e u s e o f t h i s i n d e x m a p p r e c e d e d C o o l e y a n d T u k e y ' s

p a p e r [ 1 5 0 ] , [ 3 0 2 ] b u t i t s f u l l p o t e n t i a l w a s n o t r e a l i z e d u n t i l i t w a s c o m b i n e d w i t h W i n o g r a d ' s

s h o r t D F T a l g o r i t h m s . T h e m o d e r n P F A w a s r s t p r e s e n t e d i n [ 2 1 3 ] a n d a p r o g r a m g i v e n

i n [ 5 7 ] . T h e W F T A w a s r s t p r e s e n t e d i n [ 4 0 7 ] a n d p r o g r a m s g i v e n i n [ 2 3 6 ] , [ 8 3 ] .

T h e n u m b e r t h e o r e t i c b a s i s f o r t h e i n d e x i n g i n t h e s e a l g o r i t h m s m a y , a t r s t , s e e m m o r e

c o m p l i c a t e d t h a n i n t h e C o o l e y - T u k e y F F T ; h o w e v e r , i f a p p r o a c h e d f r o m t h e g e n e r a l i n d e x

m a p p i n g p o i n t o f v i e w o f M u l t i d i m e n s i o n a l I n d e x M a p p i n g ( C h a p t e r 3 ) , i t i s s t r a i g h t f o r -

w a r d , a n d p a r t o f a c o m m o n a p p r o a c h t o b r e a k i n g l a r g e p r o b l e m s i n t o s m a l l e r o n e s . T h e

d e v e l o p m e n t i n t h i s s e c t i o n w i l l p a r a l l e l t h a t i n T h e C o o l e y - T u k e y F a s t F o u r i e r T r a n s f o r m

A l g o r i t h m ( C h a p t e r 9 ) .

T h e g e n e r a l i n d e x m a p s o f M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 6 ( 3 . 6 ) a n d M u l -

t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 2 ( 3 . 1 2 ) m u s t s a t i s f y t h e T y p e - 1 c o n d i t i o n s o f

M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 7 ( 3 . 7 ) a n d M u l t i d i m e n s i o n a l I n d e x M a p p i n g :

E q u a t i o n 1 0 ( 3 . 1 0 ) w h i c h a r e

K 1 = aN 2 a n d K 2 = bN 1 w i t h (K 1, N 1) = (K 2, N 2) = 1 ( 1 0 . 1 )

K 3 = cN 2 a n d K 4 = dN 1 w i t h (K 3, N 1) = (K 4, N 2) = 1 ( 1 0 . 2 )

T h e r o w a n d c o l u m n c a l c u l a t i o n s i n M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 5 ( 3 . 1 5 )

a r e u n c o u p l e d b y M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 6 ( 3 . 1 6 ) w h i c h f o r t h i s c a s e

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 5 / 1 . 9 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

9 7

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 104/254

9 8

C H A P T E R 1 0 . T H E P R I M E F A C T O R A N D W I N O G R A D

F O U R I E R T R A N S F O R M A L G O R I T H M S

a r e

((K 1K 4))N = ((K 2K 3))N = 0 ( 1 0 . 3 )

I n a d d i t i o n , t o m a k e e a c h s h o r t s u m a D F T , t h e K i m u s t a l s o s a t i s f y

((K 1K 3))N = N 2 and ((K 2K 4))N = N 1 ( 1 0 . 4 )

I n o r d e r t o h a v e t h e s m a l l e s t v a l u e s f o r K i , t h e c o n s t a n t s i n ( 1 0 . 1 ) a r e c h o s e n t o b e

a = b = 1, c =

N −12

N

, d =

N −11

N

( 1 0 . 5 )

w h i c h g i v e s f o r t h e i n d e x m a p s i n ( 1 0 . 1 )

n = ((N 2n1 + N 1n2))N ( 1 0 . 6 )

k = ((K 3k1 + K 4k2))N ( 1 0 . 7 )

T h e f r e q u e n c y i n d e x m a p i s a f o r m o f t h e C h i n e s e r e m a i n d e r t h e o r e m . U s i n g t h e s e i n d e x

m a p s , t h e D F T i n M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 1 5 ( 3 . 1 5 ) b e c o m e s

X =N 2−1n2=0

N 1−1n1=0

x W n1k1N 1W n2k2N 2

( 1 0 . 8 )

w h i c h i s a p u r e t w o - d i m e n s i o n a l D F T w i t h n o t w i d d l e f a c t o r s a n d t h e s u m m a t i o n s c a n b e

d o n e i n e i t h e r o r d e r . C h o i c e s o t h e r t h a n ( 1 0 . 5 ) c o u l d b e u s e d . F o r e x a m p l e , a = b = c =

d = 1w i l l c a u s e t h e i n p u t a n d o u t p u t i n d e x m a p t o b e t h e s a m e a n d , t h e r e f o r e , t h e r e w i l l b e

n o s c r a m b l i n g o f t h e o u t p u t o r d e r . T h e s h o r t s u m m a t i o n s i n ( 9 6 ) , h o w e v e r , w i l l n o l o n g e r

b e s h o r t D F T ' s [ 5 7 ] .

A n i m p o r t a n t f e a t u r e o f t h e s h o r t W i n o g r a d D F T ' s d e s c r i b e d i n W i n o g r a d ' s S h o r t D F T A l -

g o r i t h m s ( C h a p t e r 7 ) t h a t i s u s e f u l f o r b o t h t h e P F A a n d W F T A i s t h e f a c t t h a t t h e m u l t i p l i e r

c o n s t a n t s i n W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : E q u a t i o n 6 ( 7 . 6 ) o r W i n o g r a d ' s S h o r t D F T

A l g o r i t h m s : E q u a t i o n 8 ( 7 . 8 ) a r e e i t h e r r e a l o r i m a g i n a r y , n e v e r a g e n e r a l c o m p l e x n u m b e r .

F o r t h a t r e a s o n , m u l t i p l i c a t i o n b y c o m p l e x d a t a r e q u i r e s o n l y t w o r e a l m u l t i p l i c a t i o n s , n o t

f o u r . T h a t i s a v e r y s i g n i c a n t f e a t u r e . I t i s a l s o t r u e t h a t t h e j m u l t i p l i e r c a n b e c o m m u t e d

f r o m t h e D o p e r a t o r t o t h e l a s t p a r t o f t h e AT o p e r a t o r . T h i s m e a n s t h e D o p e r a t o r h a s

o n l y r e a l m u l t i p l i e r s a n d t h e c a l c u l a t i o n s o n r e a l d a t a r e m a i n s r e a l u n t i l t h e l a s t s t a g e . T h i s

c a n b e s e e n b y e x a m i n i n g t h e s h o r t D F T m o d u l e s i n [ 6 5 ] , [ 1 9 8 ] a n d i n t h e a p p e n d i c e s .

1 0 . 1 T h e P r i m e F a c t o r A l g o r i t h m

I f t h e D F T i s c a l c u l a t e d d i r e c t l y u s i n g ( 1 0 . 8 ) , t h e a l g o r i t h m i s c a l l e d a p r i m e f a c t o r a l g o r i t h m

[ 1 5 0 ] , [ 3 0 2 ] a n d w a s d i s c u s s e d i n W i n o g r a d ' s S h o r t D F T A l g o r i t h m s ( C h a p t e r 7 ) a n d M u l t i -

d i m e n s i o n a l I n d e x M a p p i n g : I n - P l a c e C a l c u l a t i o n o f t h e D F T a n d S c r a m b l i n g ( S e c t i o n 3 . 2 :

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 105/254

9 9

I n - P l a c e C a l c u l a t i o n o f t h e D F T a n d S c r a m b l i n g ) . W h e n t h e s h o r t D F T ' s a r e c a l c u l a t e d

b y t h e v e r y e c i e n t a l g o r i t h m s o f W i n o g r a d d i s c u s s e d i n F a c t o r i n g t h e S i g n a l P r o c e s s i n g

O p e r a t o r s ( C h a p t e r 6 ) , t h e P F A b e c o m e s a v e r y p o w e r f u l m e t h o d t h a t i s a s f a s t o r f a s t e r

t h a n t h e b e s t C o o l e y - T u k e y F F T ' s [ 5 7 ] , [ 2 1 3 ] .

A o w g r a p h i s n o t a s h e l p f u l w i t h t h e P F A a s i t w a s w i t h t h e C o o l e y - T u k e y F F T , h o w -

e v e r , t h e f o l l o w i n g r e p r e s e n t a t i o n i n F i g u r e 1 0 . 1 w h i c h c o m b i n e s F i g u r e s M u l t i d i m e n s i o n a l

I n d e x M a p p i n g : F i g u r e 1 ( F i g u r e 3 . 1 ) a n d W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : F i g u r e 2

( F i g u r e 7 . 2 ) g i v e s a g o o d p i c t u r e o f t h e a l g o r i t h m w i t h t h e e x a m p l e o f M u l t i d i m e n s i o n a l

I n d e x M a p p i n g : E q u a t i o n 2 5 ( 3 . 2 5 )

5 10

0

8

3

11

6

14

9

2

5

0

8

3

11

6

14

9

4

13

12

7

12

12

10

F i g u r e 1 0 . 1 : A P r i m e F a c t o r F F T f o r N = 1 5

I f N i s f a c t o r e d i n t o t h r e e f a c t o r s , t h e D F T o f ( 1 0 . 8 ) w o u l d h a v e t h r e e n e s t e d s u m m a t i o n s

a n d w o u l d b e a t h r e e - d i m e n s i o n a l D F T . T h i s p r i n c i p l e e x t e n d s t o a n y n u m b e r o f f a c t o r s ;

h o w e v e r , r e c a l l t h a t t h e T y p e - 1 m a p r e q u i r e s t h a t a l l t h e f a c t o r s b e r e l a t i v e l y p r i m e . A v e r y

s i m p l e t h r e e - l o o p i n d e x i n g s c h e m e h a s b e e n d e v e l o p e d [ 5 7 ] w h i c h g i v e s a c o m p a c t , e c i e n t

P F A p r o g r a m f o r a n y n u m b e r o f f a c t o r s . T h e b a s i c p r o g r a m s t r u c t u r e i s i l l u s t r a t e d i n p . ? ?

w i t h t h e s h o r t D F T ' s b e i n g o m i t t e d f o r c l a r i t y . C o m p l e t e p r o g r a m s a r e g i v e n i n [ 6 5 ] a n d i n

t h e a p p e n d i c e s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 106/254

1 0 0

C H A P T E R 1 0 . T H E P R I M E F A C T O R A N D W I N O G R A D

F O U R I E R T R A N S F O R M A L G O R I T H M S

C - - - - - - - - - - - - - - - P F A I N D E X I N G L O O P S - - - - - - - - - - - - - -

D O 1 0 K = 1 , M

N 1 = N I ( K )

N 2 = N / N 1

I ( 1 ) = 1

D O 2 0 J = 1 , N 2

D O 3 0 L = 2 , N 1

I ( L ) = I ( L - 1 ) + N 2

I F ( I ( L . G T . N ) I ( L ) = I ( L ) - N

3 0 C O N T I N U E

G O T O ( 2 0 , 1 0 2 , 1 0 3 , 1 0 4 , 1 0 5 ) , N 1

I ( 1 ) = I ( 1 ) + N 1

2 0 C O N T I N U E

1 0 C O N T I N U E

R E T U R N

C - - - - - - - - - - - - - - - - M O D U L E F O R N = 2 - - - - - - - - - - - - - - - - -

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

X ( I ( 1 ) ) = R 1 + X ( I ( 2 ) )

X ( I ( 2 ) ) = R 1 - X ( I ( 2 ) )

R 1 = Y ( I ( 1 ) )

Y ( I ( 1 ) ) = R 1 + Y ( I ( 2 ) )

Y ( I ( 2 ) ) = R 1 - Y ( I ( 2 ) )

G O T O 2 0

C - - - - - - - - - - - - - - - - O T H E R M O D U L E S - - - - - - - - - - - - - - - - - -

1 0 3 L e n g t h - 3 D F T

1 0 4 L e n g t h - 4 D F T

1 0 5 L e n g t h - 5 D F T

e t c .

L i s t i n g 1 0 . 1 : P a r t o f a F O R T R A N P F A P r o g r a m

A s i n t h e C o o l e y - T u k e y p r o g r a m , t h e D O 1 0 l o o p s t e p s t h r o u g h t h e M s t a g e s ( f a c t o r s o f

N ) a n d t h e D O 2 0 l o o p c a l c u l a t e s t h e N / N 1 l e n g t h - N 1 D F T ' s . T h e i n p u t i n d e x m a p o f

( 1 0 . 6 ) i s i m p l e m e n t e d i n t h e D O 3 0 l o o p a n d t h e s t a t e m e n t j u s t b e f o r e l a b e l 2 0 . I n t h e P F A ,

e a c h s t a g e o r f a c t o r r e q u i r e s a s e p a r a t e l y p r o g r a m m e d m o d u l e o r b u t t e r y . T h i s l e n g t h e n s

t h e P F A p r o g r a m b u t a n e c i e n t C o o l e y - T u k e y p r o g r a m w i l l a l s o r e q u i r e t h r e e o r m o r e

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 107/254

1 0 1

b u t t e r i e s .

B e c a u s e t h e P F A i s c a l c u l a t e d i n - p l a c e u s i n g t h e i n p u t i n d e x m a p , t h e o u t p u t i s s c r a m b l e d .

T h e r e a r e v e a p p r o a c h e s t o d e a l i n g w i t h t h i s s c r a m b l e d o u t p u t . F i r s t , t h e r e a r e s o m e a p -

p l i c a t i o n s w h e r e t h e o u t p u t d o e s n o t h a v e t o b e u n s c r a m b l e d a s i n t h e c a s e o f h i g h - s p e e d

c o n v o l u t i o n . S e c o n d , a n u n s c r a m b l e r c a n b e a d d e d a f t e r t h e P F A t o g i v e t h e o u t p u t i n

c o r r e c t o r d e r j u s t a s t h e b i t - r e v e r s e d - c o u n t e r i s u s e d f o r t h e C o o l e y - T u k e y F F T . A s i m p l e

u n s c r a m b l e r i s g i v e n i n [ 6 5 ] , [ 5 7 ] b u t i t i s n o t i n p l a c e . T h e t h i r d m e t h o d d o e s t h e u n s c r a m -

b l i n g i n t h e m o d u l e s w h i l e t h e y a r e b e i n g c a l c u l a t e d . T h i s i s p r o b a b l y t h e f a s t e s t m e t h o d

b u t t h e p r o g r a m m u s t b e w r i t t e n f o r a s p e c i c l e n g t h [ 6 5 ] , [ 5 7 ] . A f o u r t h m e t h o d i s s i m i l a r

a n d a c h i e v e s t h e u n s c r a m b l i n g b y c h o o s i n g t h e m u l t i p l i e r c o n s t a n t s i n t h e m o d u l e s p r o p e r l y

[ 1 9 8 ] . T h e f t h m e t h o d u s e s a s e p a r a t e i n d e x i n g m e t h o d f o r t h e i n p u t a n d o u t p u t o f e a c h

m o d u l e [ 6 5 ] , [ 3 2 0 ] .

1 0 . 2 T h e W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m

T h e W i n o g r a d F o u r i e r t r a n s f o r m a l g o r i t h m ( W F T A ) u s e s a v e r y p o w e r f u l p r o p e r t y o f t h e

T y p e - 1 i n d e x m a p a n d t h e D F T t o g i v e a f u r t h e r r e d u c t i o n o f t h e n u m b e r o f m u l t i p l i c a t i o n s

i n t h e P F A . U s i n g a n o p e r a t o r n o t a t i o n w h e r e F 1 r e p r e s e n t s t a k i n g r o w D F T ' s a n d F 2r e p r e s e n t s c o l u m n D F T ' s , t h e t w o - f a c t o r P F A o f ( 1 0 . 8 ) i s r e p r e s e n t e d b y

X = F 2 F 1 x ( 1 0 . 9 )

I t h a s b e e n s h o w n [ 4 1 0 ] , [ 1 9 0 ] t h a t i f e a c h o p e r a t o r r e p r e s e n t s i d e n t i c a l o p e r a t i o n s o n e a c h

r o w o r c o l u m n , t h e y c o m m u t e . S i n c e

F 1a n d

F 2r e p r e s e n t l e n g t h

N 1a n d

N 2D F T ' s , t h e y

c o m m u t e a n d ( 1 0 . 9 ) c a n a l s o b e w r i t t e n

X = F 1 F 2 x ( 1 0 . 1 0 )

I f e a c h s h o r t D F T i n F i s e x p r e s s e d b y t h r e e o p e r a t o r s a s i n W i n o g r a d ' s S h o r t D F T

A l g o r i t h m s : E q u a t i o n 8 ( 7 . 8 ) a n d W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : F i g u r e 2 ( F i g u r e 7 . 2 ) ,

F c a n b e f a c t o r e d a s

F = AT DA ( 1 0 . 1 1 )

w h e r e A r e p r e s e n t s t h e s e t o f a d d i t i o n s d o n e o n e a c h r o w o r c o l u m n t h a t p e r f o r m s t h e

r e s i d u e r e d u c t i o n a s W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : E q u a t i o n 3 0 ( 7 . 3 0 ) . B e c a u s e o f

t h e a p p e a r a n c e o f t h e o w g r a p h o f A a n d b e c a u s e i t i s t h e r s t o p e r a t o r o n x, i t i s c a l l e d

a p r e w e a v e o p e r a t o r [ 2 3 6 ] . D i s t h e s e t o f M m u l t i p l i c a t i o n s a n d AT ( o r BT

o r C T ) f r o m

W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : E q u a t i o n 5 ( 7 . 5 ) o r W i n o g r a d ' s S h o r t D F T A l g o r i t h m s :

E q u a t i o n 6 ( 7 . 6 ) i s t h e r e c o n s t r u c t i o n o p e r a t o r c a l l e d t h e p o s t w e a v e . A p p l y i n g ( 1 0 . 1 1 ) t o

( 1 0 . 9 ) g i v e s

X = AT 2 D2 A2 AT

1 D1 A1 x ( 1 0 . 1 2 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 108/254

1 0 2

C H A P T E R 1 0 . T H E P R I M E F A C T O R A N D W I N O G R A D

F O U R I E R T R A N S F O R M A L G O R I T H M S

T h i s i s t h e P F A o f ( 1 0 . 8 ) a n d F i g u r e 1 0 . 1 w h e r e A1D1A1 r e p r e s e n t s t h e r o w D F T ' s o n t h e

a r r a y f o r m e d f r o m x. B e c a u s e t h e s e o p e r a t o r s c o m m u t e , ( 1 0 . 1 2 ) c a n a l s o b e w r i t t e n a s

X = AT 2 AT 1 D2 D1 A2 A1 x ( 1 0 . 1 3 )

o r

X = AT 1 AT

2 D2 D1 A2 A1 x ( 1 0 . 1 4 )

b u t t h e t w o a d j a c e n t m u l t i p l i c a t i o n o p e r a t o r s c a n b e p r e m u l t i p l i e d a n d t h e r e s u l t r e p r e s e n t e d

b y o n e o p e r a t o r D = D2 D1 w h i c h i s n o l o n g e r t h e s a m e f o r e a c h r o w o r c o l u m n . E q u a t i o n

( 1 0 . 1 4 ) b e c o m e s

X = AT 1 AT

2 D A2 A1 x ( 1 0 . 1 5 )

T h i s i s t h e b a s i c i d e a o f t h e W i n o g r a d F o u r i e r t r a n s f o r m a l g o r i t h m . T h e c o m m u t i n g o f

t h e m u l t i p l i c a t i o n o p e r a t o r s t o g e t h e r i n t h e c e n t e r o f t h e a l g o r i t h m i s c a l l e d n e s t i n g a n d i t

r e s u l t s i n a s i g n i c a n t d e c r e a s e i n t h e n u m b e r o f m u l t i p l i c a t i o n s t h a t m u s t b e d o n e a t t h e

e x e c u t i o n o f t h e a l g o r i t h m . P i c t o r i a l l y , t h e P F A o f F i g u r e 1 0 . 1 b e c o m e s [ 2 1 3 ] t h e W F T A i n

F i g u r e 1 0 . 2 .

F i g u r e 1 0 . 2 : A L e n g t h - 1 5 W F T A w i t h N e s t e d M u l t i p l i c a t i o n s

T h e r e c t a n g u l a r s t r u c t u r e o f t h e p r e w e a v e a d d i t i o n o p e r a t o r s c a u s e s a n e x p a n s i o n o f t h e d a t a

i n t h e c e n t e r o f t h e a l g o r i t h m . T h e 1 5 d a t a p o i n t s i n F i g u r e 1 0 . 2 b e c o m e 1 8 i n t e r m e d i a t e

v a l u e s . T h i s e x p a n s i o n i s a m a j o r p r o b l e m i n p r o g r a m m i n g t h e W F T A b e c a u s e i t p r e v e n t s

a s t r a i g h t f o r w a r d i n - p l a c e c a l c u l a t i o n a n d c a u s e s a n i n c r e a s e i n t h e n u m b e r o f r e q u i r e d

a d d i t i o n s a n d i n t h e n u m b e r o f m u l t i p l i e r c o n s t a n t s t h a t m u s t b e p r e c a l c u l a t e d a n d s t o r e d .

F r o m F i g u r e 1 0 . 2 a n d t h e i d e a o f p r e m u l t i p l y i n g t h e i n d i v i d u a l m u l t i p l i c a t i o n o p e r a t o r s , i t

c a n b e s e e n w h y t h e m u l t i p l i c a t i o n s b y u n i t y h a d t o b e c o n s i d e r e d i n W i n o g r a d ' s S h o r t D F T

A l g o r i t h m s : T a b l e 1 ( T a b l e 7 . 1 ) . E v e n i f a m u l t i p l i e r i n D1 i s u n i t y , i t m a y n o t b e i n D2D1 .

I n F i g u r e 1 0 . 2 w i t h f a c t o r s o f t h r e e a n d v e , t h e r e a p p e a r t o b e 1 8 m u l t i p l i c a t i o n s r e q u i r e d

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 109/254

1 0 3

b e c a u s e o f t h e e x p a n s i o n o f t h e l e n g t h - 5 p r e w e a v e o p e r a t o r , A2 , h o w e v e r , o n e o f m u l t i p l i e r s

i n e a c h o f t h e l e n g t h t h r e e a n d v e o p e r a t o r s i s u n i t y , s o o n e o f t h e 1 8 m u l t i p l i e r s i n t h e

p r o d u c t i s u n i t y . T h i s g i v e s 1 7 r e q u i r e d m u l t i p l i c a t i o n s - a r a t h e r i m p r e s s i v e r e d u c t i o n f r o m

t h e 152 = 225 m u l t i p l i c a t i o n s r e q u i r e d b y d i r e c t c a l c u l a t i o n . T h i s n u m b e r o f 1 7 c o m p l e x

m u l t i p l i c a t i o n s w i l l r e q u i r e o n l y 3 4 r e a l m u l t i p l i c a t i o n s b e c a u s e , a s m e n t i o n e d e a r l i e r , t h e

m u l t i p l i e r c o n s t a n t s a r e p u r e l y r e a l o r i m a g i n a r y w h i l e t h e 2 2 5 c o m p l e x m u l t i p l i c a t i o n s a r e

g e n e r a l a n d t h e r e f o r e w i l l r e q u i r e f o u r t i m e s a s m a n y r e a l m u l t i p l i c a t i o n s .

T h e n u m b e r o f a d d i t i o n s d e p e n d s o n t h e o r d e r o f t h e p r e - a n d p o s t w e a v e o p e r a t o r s . F o r

e x a m p l e i n t h e l e n g t h - 1 5 W F T A i n F i g u r e 1 0 . 2 , i f t h e l e n g t h - 5 h a d b e e n d o n e r s t a n d l a s t ,

t h e r e w o u l d h a v e b e e n s i x r o w a d d i t i o n p r e w e a v e s i n t h e p r e w e a v e o p e r a t o r r a t h e r t h a n t h e

v e s h o w n . I t i s d i c u l t t o i l l u s t r a t e t h e a l g o r i t h m f o r t h r e e o r m o r e f a c t o r s o f N , b u t t h e

i d e a s a p p l y t o a n y n u m b e r o f f a c t o r s . E a c h l e n g t h h a s a n o p t i m a l o r d e r i n g o f t h e p r e - a n d

p o s t w e a v e o p e r a t o r s t h a t w i l l m i n i m i z e t h e n u m b e r o f a d d i t i o n s .

A p r o g r a m f o r t h e W F T A i s n o t a s s i m p l e a s f o r t h e F F T o r P F A b e c a u s e o f t h e v e r y

c h a r a c t e r i s t i c t h a t r e d u c e s t h e n u m b e r o f m u l t i p l i c a t i o n s , t h e n e s t i n g . A s i m p l e t w o - f a c t o r

e x a m p l e p r o g r a m i s g i v e n i n [ 6 5 ] a n d a g e n e r a l p r o g r a m c a n b e f o u n d i n [ 2 3 6 ] , [ 8 3 ] . T h e

s a m e l e n g t h s a r e p o s s i b l e w i t h t h e P F A a n d W F T A a n d t h e s a m e s h o r t D F T m o d u l e s c a n b e

u s e d , h o w e v e r , t h e m u l t i p l i e s i n t h e m o d u l e s m u s t o c c u r i n o n e p l a c e f o r u s e i n t h e W F T A .

1 0 . 3 M o d i c a t i o n s o f t h e P F A a n d W F T A T y p e A l g o -

r i t h m s

I n t h e p r e v i o u s s e c t i o n i t w a s s e e n h o w u s i n g t h e p e r m u t a t i o n p r o p e r t y o f t h e e l e m e n t a r y

o p e r a t o r s i n t h e P F A a l l o w e d t h e n e s t i n g o f t h e m u l t i p l i c a t i o n s t o r e d u c e t h e i r n u m b e r . I t

w a s a l s o s e e n t h a t a p r o p e r o r d e r i n g o f t h e o p e r a t o r s c o u l d m i n i m i z e t h e n u m b e r o f a d d i t i o n s .

T h e s e i d e a s h a v e b e e n e x t e n d e d i n f o r m u l a t i n g a m o r e g e n e r a l a l g o r i t h m o p t i m i z i n g p r o b l e m .

I f t h e D F T o p e r a t o r F i n ( 1 0 . 1 1 ) i s e x p r e s s e d i n a s t i l l m o r e f a c t o r e d f o r m o b t a i n e d f r o m

W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : E q u a t i o n 3 0 ( 7 . 3 0 ) , a g r e a t e r v a r i e t y o f o r d e r i n g c a n b e

o p t i m i z e d . F o r e x a m p l e i f t h e A o p e r a t o r s h a v e t w o f a c t o r s

F 1 = AT 1 A'

T 1 D1 A'

1A1 ( 1 0 . 1 6 )

T h e D F T i n ( 1 0 . 1 0 ) b e c o m e s

X = AT 2 A'

2T D2A'

2A2AT 1 A'

1T D1A'

1A1x ( 1 0 . 1 7 )

T h e o p e r a t o r n o t a t i o n i s v e r y h e l p f u l i n u n d e r s t a n d i n g t h e c e n t r a l i d e a s , b u t m a y h i d e s o m e

i m p o r t a n t f a c t s . I t h a s b e e n s h o w n [ 4 1 0 ] , [ 1 9 8 ] t h a t o p e r a t o r s i n d i e r e n t F i c o m m u t e w i t h

e a c h o t h e r , b u t t h e o r d e r o f t h e o p e r a t o r s w i t h i n a n F i c a n n o t b e c h a n g e d . T h e y r e p r e s e n t

t h e m a t r i x m u l t i p l i c a t i o n s i n W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : E q u a t i o n 3 0 ( 7 . 3 0 ) o r

W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : E q u a t i o n 8 ( 7 . 8 ) w h i c h d o n o t c o m m u t e .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 110/254

1 0 4

C H A P T E R 1 0 . T H E P R I M E F A C T O R A N D W I N O G R A D

F O U R I E R T R A N S F O R M A L G O R I T H M S

T h i s f o r m u l a t i o n a l l o w s a v e r y l a r g e s e t o f p o s s i b l e o r d e r i n g s , i n f a c t , t h e n u m b e r i s s o

l a r g e t h a t s o m e a u t o m a t i c t e c h n i q u e m u s t b e u s e d t o n d t h e b e s t " . I t i s p o s s i b l e t o s e t

u p a c r i t e r i o n o f o p t i m a l i t y t h a t n o t o n l y i n c l u d e s t h e n u m b e r o f m u l t i p l i c a t i o n s b u t t h e

n u m b e r o f a d d i t i o n s a s w e l l . T h e e e c t s o f r e l a t i v e m u l t i p l y - a d d t i m e s , d a t a t r a n s f e r t i m e s ,

C P U r e g i s t e r a n d m e m o r y s i z e s , a n d o t h e r h a r d w a r e c h a r a c t e r i s t i c s c a n b e i n c l u d e d i n t h e

c r i t e r i o n . D y n a m i c p r o g r a m m i n g c a n t h e n b e a p p l i e d t o d e r i v e a n o p t i m a l a l g o r i t h m f o r

a p a r t i c u l a r a p p l i c a t i o n [ 1 9 0 ] . T h i s i s a v e r y i n t e r e s t i n g i d e a a s t h e r e i s n o l o n g e r a s i n g l e

a l g o r i t h m , b u t a c l a s s a n d a n o p t i m i z i n g p r o c e d u r e . T h e c h a l l e n g e i s t o g e n e r a t e a b r o a d

e n o u g h c l a s s t o r e s u l t i n a s o l u t i o n t h a t i s c l o s e t o a g l o b a l o p t i m u m a n d t o h a v e a p r a c t i c a l

s c h e m e f o r n d i n g t h e s o l u t i o n .

R e s u l t s o b t a i n e d a p p l y i n g t h e d y n a m i c p r o g r a m m i n g m e t h o d t o t h e d e s i g n o f f a i r l y l o n g

D F T a l g o r i t h m s g a v e a l g o r i t h m s t h a t h a d f e w e r m u l t i p l i c a t i o n s a n d a d d i t i o n s t h a n e i t h e r

a p u r e P F A o r W F T A [ 1 9 0 ] . I t s e e m s t h a t s o m e n e s t i n g i s d e s i r a b l e b u t n o t t o t a l n e s t i n g

f o r f o u r o r m o r e f a c t o r s . T h e r e a r e a l s o s o m e i n t e r e s t i n g p o s s i b i l i t i e s i n m i x i n g t h e C o o l e y -

T u k e y w i t h t h i s f o r m u l a t i o n . U n f o r t u n a t e l y , t h e t w i d d l e f a c t o r s a r e n o t t h e s a m e f o r a l l r o w s

a n d c o l u m n s , t h e r e f o r e , o p e r a t i o n s c a n n o t c o m m u t e p a s t a t w i d d l e f a c t o r o p e r a t o r . T h e r e

a r e w a y s o f b r e a k i n g t h e t o t a l a l g o r i t h m i n t o h o r i z o n t a l p a t h s a n d u s i n g d i e r e n t o r d e r i n g s

a l o n g t h e d i e r e n t p a t h s [ 2 6 4 ] , [ 1 9 8 ] . I n a s e n s e , t h i s i s w h a t t h e s p l i t - r a d i x F F T d o e s w i t h

i t s t w i d d l e f a c t o r s w h e n c o m p a r e d t o a c o n v e n t i o n a l C o o l e y - T u k e y F F T .

T h e r e a r e o t h e r m o d i c a t i o n s o f t h e b a s i c s t r u c t u r e o f t h e T y p e - 1 i n d e x m a p D F T a l g o r i t h m .

O n e i s t o u s e t h e s a m e i n d e x s t r u c t u r e a n d c o n v e r s i o n o f t h e s h o r t D F T ' s t o c o n v o l u t i o n

a s t h e P F A b u t t o u s e s o m e o t h e r m e t h o d f o r t h e h i g h - s p e e d c o n v o l u t i o n . T a b l e l o o k - u p o f

p a r t i a l p r o d u c t s b a s e d o n d i s t r i b u t e d a r i t h m e t i c t o e l i m i n a t e a l l m u l t i p l i c a t i o n s [ 7 8 ] l o o k s

p r o m i s i n g f o r c e r t a i n v e r y s p e c i c a p p l i c a t i o n s , p e r h a p s f o r s p e c i a l i z e d V L S I i m p l e m e n t a t i o n .

A n o t h e r p o s s i b i l i t y i s t o c a l c u l a t e t h e s h o r t c o n v o l u t i o n s u s i n g n u m b e r - t h e o r e t i c t r a n s f o r m s

[ 3 0 ] , [ 2 3 6 ] , [ 2 6 4 ] . T h i s w o u l d a l s o r e q u i r e s p e c i a l h a r d w a r e . D i r e c t c a l c u l a t i o n o f s h o r t

c o n v o l u t i o n s i s f a s t e r o n c e r t a i n p i p e l i n e d p r o c e s s o r s u c h a s t h e T M S - 3 2 0 m i c r o p r o c e s s o r

[ 2 1 6 ] .

1 0 . 4 E v a l u a t i o n o f t h e P F A a n d W F T A

A s f o r t h e C o o l e y - T u k e y F F T ' s , t h e r s t e v a l u a t i o n o f t h e s e a l g o r i t h m s w i l l b e o n t h e n u m b e r

o f m u l t i p l i c a t i o n s a n d a d d i t i o n s r e q u i r e d . T h e n u m b e r o f m u l t i p l i c a t i o n s t o c o m p u t e t h e P F A

i n ( 1 0 . 8 ) i s g i v e n b y M u l t i d i m e n s i o n a l I n d e x M a p p i n g : E q u a t i o n 3 ( 3 . 3 ) . U s i n g t h e n o t a t i o n

t h a t T (N ) i s t h e n u m b e r o f m u l t i p l i c a t i o n s o r a d d i t i o n s n e c e s s a r y t o c a l c u l a t e a l e n g t h - N

D F T , t h e t o t a l n u m b e r f o r a f o u r - f a c t o r P F A o f l e n g t h - N , w h e r e N = N 1N 2N 3N 4 i s

T (N ) = N 1N 2N 3T (N 4) + N 2N 3N 4T (N 1) + N 3N 4N 1T (N 2) + N 4N 1N 2T (N 3) ( 1 0 . 1 8 )

T h e c o u n t o f m u l t i p l i e s a n d a d d s i n T a b l e 1 0 . 1 a r e c a l c u l a t e d f r o m ( 1 0 5 ) w i t h t h e c o u n t s o f

t h e f a c t o r s t a k e n f r o m W i n o g r a d ' s S h o r t D F T A l g o r i t h m s : T a b l e 1 ( T a b l e 7 . 1 ) . T h e l i s t o f

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 111/254

1 0 5

l e n g t h s a r e t h o s e p o s s i b l e w i t h m o d u l e s i n t h e p r o g r a m o f l e n g t h 2 , 3 , 4 , 5 , 7 , 8 , 9 a n d 1 6 a s

i s t r u e f o r t h e P F A i n [ 6 5 ] , [ 5 7 ] a n d t h e W F T A i n [ 2 3 6 ] , [ 8 3 ] . A m a x i m u m o f f o u r r e l a t i v e l y

p r i m e l e n g t h s c a n b e u s e d f r o m t h i s g r o u p g i v i n g 5 9 d i e r e n t l e n g t h s o v e r t h e r a n g e f r o m

2 t o 5 0 4 0 . T h e r a d i x - 2 o r s p l i t - r a d i x F F T a l l o w s 1 2 d i e r e n t l e n g t h s o v e r t h e s a m e r a n g e .

I f m o d u l e s o f l e n g t h 1 1 a n d 1 3 f r o m [ 1 8 8 ] a r e a d d e d , t h e m a x i m u m l e n g t h b e c o m e s 7 2 0 7 2 0

a n d t h e n u m b e r o f d i e r e n t l e n g t h s b e c o m e s 2 3 9 . A d d i n g m o d u l e s f o r 1 7 , 1 9 a n d 2 5 f r o m

[ 1 8 8 ] g i v e s a m a x i m u m l e n g t h o f 1 1 6 3 9 6 2 8 0 0 a n d a v e r y l a r g e a n d d e n s e n u m b e r o f p o s s i b l e

l e n g t h s . T h e l e n g t h o f t h e c o d e f o r t h e l o n g e r m o d u l e s b e c o m e s e x c e s s i v e a n d s h o u l d n o t b e

i n c l u d e d u n l e s s n e e d e d .

T h e n u m b e r o f m u l t i p l i c a t i o n s n e c e s s a r y f o r t h e W F T A i s s i m p l y t h e p r o d u c t o f t h o s e

n e c e s s a r y f o r t h e r e q u i r e d m o d u l e s , i n c l u d i n g m u l t i p l i c a t i o n s b y u n i t y . T h e t o t a l n u m b e r m a y

c o n t a i n s o m e u n i t y m u l t i p l i e r s b u t i t i s d i c u l t t o r e m o v e t h e m i n a p r a c t i c a l p r o g r a m . T a b l e

1 0 . 1 c o n t a i n s b o t h t h e t o t a l n u m b e r ( M U L T S ) a n d t h e n u m b e r w i t h t h e u n i t y m u l t i p l i e s

r e m o v e d ( R M U L T S ) .

C a l c u l a t i n g t h e n u m b e r o f a d d i t i o n s f o r t h e W F T A i s m o r e c o m p l i c a t e d t h a n f o r t h e P F A

b e c a u s e o f t h e e x p a n s i o n o f t h e d a t a m o v i n g t h r o u g h t h e a l g o r i t h m . F o r e x a m p l e t h e n u m b e r

o f a d d i t i o n s , T A , f o r t h e l e n g t h - 1 5 e x a m p l e i n F i g u r e 1 0 . 2 i s g i v e n b y

T A (N ) = N 2T A (N 1) + T M 1T A (N 2) ( 1 0 . 1 9 )

w h e r e N 1 = 3 , N 2 = 5, T M 1 = t h e n u m b e r o f m u l t i p l i e s f o r t h e l e n g t h - 3 m o d u l e a n d

h e n c e t h e e x p a n s i o n f a c t o r . A s m e n t i o n e d e a r l i e r t h e r e i s a n o p t i m u m o r d e r i n g t o m i n i m i z e

a d d i t i o n s . T h e o r d e r i n g u s e d t o c a l c u l a t e T a b l e 1 0 . 1 i s t h e o r d e r i n g u s e d i n [ 2 3 6 ] , [ 8 3 ] w h i c h

i s o p t i m a l i n m o s t c a s e s a n d c l o s e t o o p t i m a l i n t h e o t h e r s .

L e n g t h P F A P F A W F T A W F T A W F T A

N M u l t s A d d s M u l t s R M u l t s A d d s

1 0 2 0 8 8 2 4 2 0 8 8

1 2 1 6 9 6 2 4 1 6 9 6

1 4 3 2 1 7 2 3 6 3 2 1 7 2

1 5 5 0 1 6 2 3 6 3 4 1 6 2

c o n t i n u e d o n n e x t p a g e

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 112/254

1 0 6

C H A P T E R 1 0 . T H E P R I M E F A C T O R A N D W I N O G R A D

F O U R I E R T R A N S F O R M A L G O R I T H M S

1 8 4 0 2 0 4 4 4 4 0 2 0 8

2 0 4 0 2 1 6 4 8 4 0 2 1 6

2 1 7 6 3 0 0 5 4 5 2 3 0 0

2 4 4 4 2 5 2 4 8 3 6 2 5 2

2 8 6 4 4 0 0 7 2 6 4 4 0 0

3 0 1 0 0 3 8 4 7 2 6 8 3 8 4

3 5 1 5 0 5 9 8 1 0 8 1 0 6 6 6 6

3 6 8 0 4 8 0 8 8 8 0 4 8 8

4 0 1 0 0 5 3 2 9 6 8 4 5 3 2

4 2 1 5 2 6 8 4 1 0 8 1 0 4 6 8 4

4 5 1 9 0 7 2 6 1 3 2 1 3 0 8 0 4

4 8 1 2 4 6 3 6 1 0 8 9 2 6 6 0

5 6 1 5 6 9 4 0 1 4 4 1 3 2 9 4 0

6 0 2 0 0 8 8 8 1 4 4 1 3 6 8 8 8

6 3 2 8 4 1 2 3 6 1 9 8 1 9 6 1 3 9 4

7 0 3 0 0 1 3 3 6 2 1 6 2 1 2 1 4 7 2

7 2 1 9 6 1 1 4 0 1 7 6 1 6 4 1 1 5 6

8 0 2 6 0 1 2 8 4 2 1 6 2 0 0 1 3 5 2

8 4 3 0 4 1 5 3 6 2 1 6 2 0 8 1 5 3 6

9 0 3 8 0 1 6 3 2 2 6 4 2 6 0 1 7 8 8

1 0 5 5 9 0 2 2 1 4 3 2 4 3 2 2 2 4 1 8

1 1 2 3 9 6 2 1 8 8 3 2 4 3 0 8 2 3 3 2

1 2 0 4 6 0 2 0 7 6 2 8 8 2 7 6 2 0 7 6

c o n t i n u e d o n n e x t p a g e

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 113/254

1 0 7

1 2 6 5 6 8 2 7 2 4 3 9 6 3 9 2 3 0 4 0

1 4 0 6 0 0 2 9 5 2 4 3 2 4 2 4 3 2 2 4

1 4 4 5 0 0 2 6 7 6 3 9 6 3 8 0 2 8 8 0

1 6 8 6 9 2 3 4 9 2 4 3 2 4 2 0 3 4 9 2

1 8 0 7 6 0 3 6 2 4 5 2 8 5 2 0 3 9 3 6

2 1 0 1 1 8 0 4 8 4 8 6 4 8 6 4 4 5 2 5 6

2 4 0 1 1 0 0 4 8 1 2 6 4 8 6 3 2 5 1 3 6

2 5 2 1 1 3 6 5 9 5 2 7 9 2 7 8 4 6 5 8 4

2 8 0 1 3 4 0 6 6 0 4 8 6 4 8 5 2 7 1 4 8

3 1 5 2 0 5 0 8 3 2 2 1 1 8 8 1 1 8 6 1 0 3 3 6

3 3 6 1 6 3 6 7 9 0 8 9 7 2 9 5 6 8 5 0 8

3 6 0 1 7 0 0 8 1 4 8 1 0 5 6 1 0 4 4 8 7 7 2

4 2 0 2 3 6 0 1 0 5 3 6 1 2 9 6 1 2 8 8 1 1 3 5 2

5 0 4 2 5 2 4 1 3 1 6 4 1 5 8 4 1 5 7 2 1 4 4 2 8

5 6 0 3 1 0 0 1 4 7 4 8 1 9 4 4 1 9 2 8 1 7 1 6 8

6 3 0 4 1 0 0 1 7 9 0 4 2 3 7 6 2 3 7 2 2 1 9 3 2

7 2 0 3 9 4 0 1 8 2 7 6 2 3 7 6 2 3 6 0 2 1 1 3 2

8 4 0 5 1 4 0 2 3 1 7 2 2 5 9 2 2 5 8 0 2 4 8 0 4

1 0 0 8 5 8 0 4 2 9 1 0 0 3 5 6 4 3 5 4 8 3 4 4 1 6

1 2 6 0 8 2 0 0 3 8 3 2 8 4 7 5 2 4 7 4 4 4 6 3 8 4

1 6 8 0 1 1 5 4 0 5 0 9 6 4 5 8 3 2 5 8 1 6 5 9 0 6 4

2 5 2 0 1 7 6 6 0 8 2 9 5 6 9 5 0 4 9 4 9 2 9 9 0 6 8

5 0 4 0 3 9 1 0 0 1 7 9 7 7 2 2 1 3 8 4 2 1 3 6 8 2 3 2 6 6 8

T a b l e 1 0 . 1 : N u m b e r o f R e a l M u l t i p l i c a t i o n s a n d A d d i t i o n s f o r C o m p l e x P F A a n d W F T A

F F T s

f r o m T a b l e 1 0 . 1 w e s e e t h a t c o m p a r e d t o t h e P F A o r a n y o f t h e C o o l e y - T u k e y F F T ' s , t h e

W F T A h a s s i g n i c a n t l y f e w e r m u l t i p l i c a t i o n s . F o r t h e s h o r t e r l e n g t h s , t h e W F T A a n d t h e

P F A h a v e a p p r o x i m a t e l y t h e s a m e n u m b e r o f a d d i t i o n s ; h o w e v e r f o r l o n g e r l e n g t h s , t h e P F A

h a s f e w e r a n d t h e C o o l e y - T u k e y F F T ' s a l w a y s h a v e t h e f e w e s t . I f t h e t o t a l a r i t h m e t i c , t h e

n u m b e r o f m u l t i p l i c a t i o n s p l u s t h e n u m b e r o f a d d i t i o n s , i s c o m p a r e d , t h e s p l i t - r a d i x F F T ,

P F A a n d W F T A a l l h a v e a b o u t t h e s a m e c o u n t . S p e c i a l v e r s i o n s o f t h e P F A a n d W F T A

h a v e b e e n d e v e l o p e d f o r r e a l d a t a [ 1 7 8 ] , [ 3 5 8 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 114/254

1 0 8

C H A P T E R 1 0 . T H E P R I M E F A C T O R A N D W I N O G R A D

F O U R I E R T R A N S F O R M A L G O R I T H M S

T h e s i z e o f t h e C o o l e y - T u k e y p r o g r a m i s t h e s m a l l e s t , t h e P F A n e x t a n d t h e W F T A l a r g e s t .

T h e P F A r e q u i r e s t h e s m a l l e s t n u m b e r o f s t o r e d c o n s t a n t s , t h e C o o l e y - T u k e y o r s p l i t - r a d i x

F F T n e x t , a n d t h e W F T A r e q u i r e s t h e l a r g e s t n u m b e r . F o r a D F T o f a p p r o x i m a t e l y 1 0 0 0 , t h e

P F A s t o r e s 2 8 c o n s t a n t s , t h e F F T 2 0 4 8 a n d t h e W F T A 3 5 6 4 . B o t h t h e F F T a n d P F A c a n b e

c a l c u l a t e d i n - p l a c e a n d t h e W F T A c a n n o t . T h e P F A c a n b e c a l c u l a t e d i n - o r d e r w i t h o u t a n

u n s c r a m b l e r . T h e r a d i x - 2 F F T c a n a l s o , b u t i t r e q u i r e s a d d i t i o n a l i n d e x i n g o v e r h e a d [ 1 9 4 ] .

T h e i n d e x i n g a n d d a t a t r a n s f e r o v e r h e a d i s g r e a t e s t f o r t h e W F T A b e c a u s e t h e s e p a r a t e

p r e w e a v e a n d p o s t w e a v e s e c t i o n s e a c h r e q u i r e t h e i r i n d e x i n g a n d p a s s t h r o u g h t h e c o m p l e t e

d a t a . T h e s h o r t e r m o d u l e s i n t h e P F A a n d W F T A a n d t h e b u t t e r i e s i n t h e r a d i x 2 a n d

4 F F T ' s a r e m o r e e c i e n t t h a n t h e l o n g e r o n e s b e c a u s e i n t e r m e d i a t e c a l c u l a t i o n s c a n b e

k e p t i n c p u r e g i s t e r s r a t h e r g e n e r a l m e m o r y [ 2 5 0 ] . H o w e v e r , t h e s h o r t e r m o d u l e s a n d r a d i c e s

r e q u i r e m o r e p a s s e s t h r o u g h t h e d a t a f o r a g i v e n a p p r o x i m a t e l e n g t h . A p r o p e r c o m p a r i s o n

w i l l r e q u i r e a c t u a l p r o g r a m s t o b e c o m p i l e d a n d r u n o n a p a r t i c u l a r m a c h i n e . T h e r e a r e

m a n y o p e n q u e s t i o n s a b o u t t h e r e l a t i o n s h i p o f a l g o r i t h m s a n d h a r d w a r e a r c h i t e c t u r e .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 115/254

C h a p t e r 1 1

I m p l e m e n t i n g F F T s i n P r a c t i c e

1

b y S t e v e n G . J o h n s o n ( D e p a r t m e n t o f M a t h e m a t i c s , M a s s a c h u s e t t s I n s t i t u t e o f T e c h n o l o g y )

a n d M a t t e o F r i g o ( C i l k A r t s , I n c . )

1 1 . 1 I n t r o d u c t i o n

A l t h o u g h t h e r e a r e a w i d e r a n g e o f f a s t F o u r i e r t r a n s f o r m ( F F T ) a l g o r i t h m s , i n v o l v i n g a

w e a l t h o f m a t h e m a t i c s f r o m n u m b e r t h e o r y t o p o l y n o m i a l a l g e b r a s , t h e v a s t m a j o r i t y o f

F F T i m p l e m e n t a t i o n s i n p r a c t i c e e m p l o y s o m e v a r i a t i o n o n t h e C o o l e y - T u k e y a l g o r i t h m

[ 9 2 ] . T h e C o o l e y - T u k e y a l g o r i t h m c a n b e d e r i v e d i n t w o o r t h r e e l i n e s o f e l e m e n t a r y a l g e b r a .

I t c a n b e i m p l e m e n t e d a l m o s t a s e a s i l y , e s p e c i a l l y i f o n l y p o w e r - o f - t w o s i z e s a r e d e s i r e d ;

n u m e r o u s p o p u l a r t e x t b o o k s l i s t s h o r t F F T s u b r o u t i n e s f o r p o w e r - o f - t w o s i z e s , w r i t t e n i n

t h e l a n g u a g e d u j o u r . T h e i m p l e m e n t a t i o n o f t h e C o o l e y - T u k e y a l g o r i t h m , a t l e a s t , w o u l d

t h e r e f o r e s e e m t o b e a l o n g - s o l v e d p r o b l e m . I n t h i s c h a p t e r , h o w e v e r , w e w i l l a r g u e t h a t

m a t t e r s a r e n o t a s s t r a i g h t f o r w a r d a s t h e y m i g h t a p p e a r .

F o r m a n y y e a r s , t h e p r i m a r y r o u t e t o i m p r o v i n g u p o n t h e C o o l e y - T u k e y F F T s e e m e d t o b e

r e d u c t i o n s i n t h e c o u n t o f a r i t h m e t i c o p e r a t i o n s , w h i c h o f t e n d o m i n a t e d t h e e x e c u t i o n t i m e

p r i o r t o t h e u b i q u i t y o f f a s t o a t i n g - p o i n t h a r d w a r e ( a t l e a s t o n n o n - e m b e d d e d p r o c e s s o r s ) .

T h e r e f o r e , g r e a t e o r t w a s e x p e n d e d t o w a r d s n d i n g n e w a l g o r i t h m s w i t h r e d u c e d a r i t h -

m e t i c c o u n t s [ 1 1 4 ] , f r o m W i n o g r a d ' s m e t h o d t o a c h i e v e Θ (n) m u l t i p l i c a t i o n s

2

( a t t h e c o s t

o f m a n y m o r e a d d i t i o n s ) [ 4 1 1 ] , [ 1 8 0 ] , [ 1 1 6 ] , [ 1 1 4 ] t o t h e s p l i t - r a d i x v a r i a n t o n C o o l e y - T u k e y

t h a t l o n g a c h i e v e d t h e l o w e s t k n o w n t o t a l c o u n t o f a d d i t i o n s a n d m u l t i p l i c a t i o n s f o r p o w e r -

o f - t w o s i z e s [ 4 2 2 ] , [ 1 0 7 ] , [ 3 9 1 ] , [ 2 3 0 ] , [ 1 1 4 ] ( b u t w a s r e c e n t l y i m p r o v e d u p o n [ 2 0 2 ] , [ 2 2 5 ] ) .

T h e q u e s t i o n o f t h e m i n i m u m p o s s i b l e a r i t h m e t i c c o u n t c o n t i n u e s t o b e o f f u n d a m e n t a l t h e -

o r e t i c a l i n t e r e s t i t i s n o t e v e n k n o w n w h e t h e r b e t t e r t h a n Θ (nlogn) c o m p l e x i t y i s p o s s i b l e ,

s i n c e Ω (nlogn) l o w e r b o u n d s o n t h e c o u n t o f a d d i t i o n s h a v e o n l y b e e n p r o v e n s u b j e c t t o

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 6 / 1 . 1 5 / > .

2

W e e m p l o y t h e s t a n d a r d a s y m p t o t i c n o t a t i o n o f O f o r a s y m p t o t i c u p p e r b o u n d s , Θ f o r a s y m p t o t i c t i g h t

b o u n d s , a n d Ω f o r a s y m p t o t i c l o w e r b o u n d s [ 2 1 0 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

1 0 9

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 116/254

1 1 0

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

r e s t r i c t i v e a s s u m p t i o n s a b o u t t h e a l g o r i t h m s [ 2 4 8 ] , [ 2 8 0 ] , [ 2 8 1 ] . N e v e r t h e l e s s , t h e d i e r e n c e

i n t h e n u m b e r o f a r i t h m e t i c o p e r a t i o n s , f o r p o w e r - o f - t w o s i z e s n, b e t w e e n t h e 1 9 6 5 r a d i x - 2

C o o l e y - T u k e y a l g o r i t h m (

∼5nlog2n [ 9 2 ] ) a n d t h e c u r r e n t l y l o w e s t - k n o w n a r i t h m e t i c c o u n t

( ∼ 349 nlog2n [ 2 0 2 ] , [ 2 2 5 ] ) r e m a i n s o n l y a b o u t 2 5 % .

F i g u r e 1 1 . 1 : T h e r a t i o o f s p e e d ( 1 / t i m e ) b e t w e e n a h i g h l y o p t i m i z e d F F T ( F F T W

3 . 1 . 2 [ 1 3 3 ] , [ 1 3 4 ] ) a n d a t y p i c a l t e x t b o o k r a d i x - 2 i m p l e m e n t a t i o n ( N u m e r i c a l R e c i p e s i n

C [ 2 9 0 ] ) o n a 3 G H z I n t e l C o r e D u o w i t h t h e I n t e l C c o m p i l e r 9 . 1 . 0 4 3 , f o r s i n g l e - p r e c i s i o n

c o m p l e x - d a t a D F T s o f s i z e n, p l o t t e d v e r s u s log2n. T o p l i n e ( s q u a r e s ) s h o w s F F T W

w i t h S S E S I M D i n s t r u c t i o n s e n a b l e d , w h i c h p e r f o r m m u l t i p l e a r i t h m e t i c o p e r a t i o n s a t

o n c e ( s e e s e c t i o n ) ; b o t t o m l i n e ( c i r c l e s ) s h o w s F F T W w i t h S S E d i s a b l e d , w h i c h t h u s

r e q u i r e s a s i m i l a r n u m b e r o f a r i t h m e t i c i n s t r u c t i o n s t o t h e t e x t b o o k c o d e . ( T h i s i s n o t

i n t e n d e d a s a c r i t i c i s m o f N u m e r i c a l R e c i p e s s i m p l e r a d i x - 2 i m p l e m e n t a t i o n s a r e r e a -

s o n a b l e f o r p e d a g o g y b u t i t i l l u s t r a t e s t h e r a d i c a l d i e r e n c e s b e t w e e n s t r a i g h t f o r w a r d

a n d o p t i m i z e d i m p l e m e n t a t i o n s o f F F T a l g o r i t h m s , e v e n w i t h s i m i l a r a r i t h m e t i c c o s t s . )

F o r n 219 , t h e r a t i o i n c r e a s e s b e c a u s e t h e t e x t b o o k c o d e b e c o m e s m u c h s l o w e r ( t h i s

h a p p e n s w h e n t h e D F T s i z e e x c e e d s t h e l e v e l - 2 c a c h e ) .

A n d y e t t h e r e i s a v a s t g a p b e t w e e n t h i s b a s i c m a t h e m a t i c a l t h e o r y a n d t h e a c t u a l p r a c t i c e

h i g h l y o p t i m i z e d F F T p a c k a g e s a r e o f t e n a n o r d e r o f m a g n i t u d e f a s t e r t h a n t h e t e x t b o o k

s u b r o u t i n e s , a n d t h e i n t e r n a l s t r u c t u r e t o a c h i e v e t h i s p e r f o r m a n c e i s r a d i c a l l y d i e r e n t

f r o m t h e t y p i c a l t e x t b o o k p r e s e n t a t i o n o f t h e s a m e C o o l e y - T u k e y a l g o r i t h m . F o r e x a m p l e ,

F i g u r e 1 1 . 1 p l o t s t h e r a t i o o f b e n c h m a r k s p e e d s b e t w e e n a h i g h l y o p t i m i z e d F F T [ 1 3 3 ] , [ 1 3 4 ]

a n d a t y p i c a l t e x t b o o k r a d i x - 2 i m p l e m e n t a t i o n [ 2 9 0 ] , a n d t h e f o r m e r i s f a s t e r b y a f a c t o r

o f 5 4 0 ( w i t h a l a r g e r r a t i o a s n g r o w s ) . H e r e , w e w i l l c o n s i d e r s o m e o f t h e r e a s o n s f o r

t h i s d i s c r e p a n c y , a n d s o m e t e c h n i q u e s t h a t c a n b e u s e d t o a d d r e s s t h e d i c u l t i e s f a c e d b y a

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 117/254

1 1 1

p r a c t i c a l h i g h - p e r f o r m a n c e F F T i m p l e m e n t a t i o n .

3

I n p a r t i c u l a r , i n t h i s c h a p t e r w e w i l l d i s c u s s s o m e o f t h e l e s s o n s l e a r n e d a n d t h e s t r a t e g i e s

a d o p t e d i n t h e F F T W l i b r a r y . F F T W [ 1 3 3 ] , [ 1 3 4 ] i s a w i d e l y u s e d f r e e - s o f t w a r e l i b r a r y t h a t

c o m p u t e s t h e d i s c r e t e F o u r i e r t r a n s f o r m ( D F T ) a n d i t s v a r i o u s s p e c i a l c a s e s . I t s p e r f o r m a n c e

i s c o m p e t i t i v e e v e n w i t h m a n u f a c t u r e r - o p t i m i z e d p r o g r a m s [ 1 3 4 ] , a n d t h i s p e r f o r m a n c e i s

p o r t a b l e t h a n k s t h e s t r u c t u r e o f t h e a l g o r i t h m s e m p l o y e d , s e l f - o p t i m i z a t i o n t e c h n i q u e s ,

a n d h i g h l y o p t i m i z e d k e r n e l s ( F F T W ' s c o d e l e t s ) g e n e r a t e d b y a s p e c i a l - p u r p o s e c o m p i l e r .

T h i s c h a p t e r i s s t r u c t u r e d a s f o l l o w s . F i r s t " R e v i e w o f t h e C o o l e y - T u k e y F F T " ( S e c t i o n 1 1 . 2 :

R e v i e w o f t h e C o o l e y - T u k e y F F T ) , w e b r i e y r e v i e w t h e b a s i c i d e a s b e h i n d t h e C o o l e y -

T u k e y a l g o r i t h m a n d d e n e s o m e c o m m o n t e r m i n o l o g y , e s p e c i a l l y f o c u s i n g o n t h e m a n y

d e g r e e s o f f r e e d o m t h a t t h e a b s t r a c t a l g o r i t h m a l l o w s t o i m p l e m e n t a t i o n s . N e x t , i n " G o a l s

a n d B a c k g r o u n d o f t h e F F T W P r o j e c t " ( S e c t i o n 1 1 . 3 : G o a l s a n d B a c k g r o u n d o f t h e F F T W

P r o j e c t ) , w e p r o v i d e s o m e c o n t e x t f o r F F T W ' s d e v e l o p m e n t a n d s t r e s s t h a t p e r f o r m a n c e ,

w h i l e i t r e c e i v e s t h e m o s t p u b l i c i t y , i s n o t n e c e s s a r i l y t h e m o s t i m p o r t a n t c o n s i d e r a t i o n i n

t h e i m p l e m e n t a t i o n o f a l i b r a r y o f t h i s s o r t . T h i r d , i n " F F T s a n d t h e M e m o r y H i e r a r c h y "

( S e c t i o n 1 1 . 4 : F F T s a n d t h e M e m o r y H i e r a r c h y ) , w e c o n s i d e r a b a s i c t h e o r e t i c a l m o d e l

o f t h e c o m p u t e r m e m o r y h i e r a r c h y a n d i t s i m p a c t o n F F T a l g o r i t h m c h o i c e s : q u i t e g e n e r a l

c o n s i d e r a t i o n s p u s h i m p l e m e n t a t i o n s t o w a r d s l a r g e r a d i c e s a n d e x p l i c i t l y r e c u r s i v e s t r u c t u r e .

U n f o r t u n a t e l y , g e n e r a l c o n s i d e r a t i o n s a r e n o t s u c i e n t i n t h e m s e l v e s , s o w e w i l l e x p l a i n i n

" A d a p t i v e C o m p o s i t i o n o f F F T A l g o r i t h m s " ( S e c t i o n 1 1 . 5 : A d a p t i v e C o m p o s i t i o n o f F F T

A l g o r i t h m s ) h o w F F T W s e l f - o p t i m i z e s f o r p a r t i c u l a r m a c h i n e s b y s e l e c t i n g i t s a l g o r i t h m a t

r u n t i m e f r o m a c o m p o s i t i o n o f s i m p l e a l g o r i t h m i c s t e p s . F u r t h e r m o r e , " G e n e r a t i n g S m a l l

F F T K e r n e l s " ( S e c t i o n 1 1 . 6 : G e n e r a t i n g S m a l l F F T K e r n e l s ) d e s c r i b e s t h e u t i l i t y a n d t h e

p r i n c i p l e s o f a u t o m a t i c c o d e g e n e r a t i o n u s e d t o p r o d u c e t h e h i g h l y o p t i m i z e d b u i l d i n g b l o c k s

o f t h i s c o m p o s i t i o n , F F T W ' s c o d e l e t s . F i n a l l y , w e w i l l b r i e y c o n s i d e r a n i m p o r t a n t n o n -

p e r f o r m a n c e i s s u e , i n " N u m e r i c a l A c c u r a c y i n F F T s " ( S e c t i o n 1 1 . 7 : N u m e r i c a l A c c u r a c y i n

F F T s ) .

1 1 . 2 R e v i e w o f t h e C o o l e y - T u k e y F F T

T h e ( f o r w a r d , o n e - d i m e n s i o n a l ) d i s c r e t e F o u r i e r t r a n s f o r m ( D F T ) o f a n a r r a y X o f n c o m p l e x

n u m b e r s i s t h e a r r a y Y g i v e n b y

Y [k] =n−1=0

X [] ωkn , ( 1 1 . 1 )

w h e r e 0 ≤ k < n a n d ωn = exp (−2πi/n) i s a p r i m i t i v e r o o t o f u n i t y . I m p l e m e n t e d d i r e c t l y ,

( 1 1 . 1 ) w o u l d r e q u i r e Θ (n2) o p e r a t i o n s ; f a s t F o u r i e r t r a n s f o r m s a r e O (nlogn) a l g o r i t h m s

3

W e w o n ' t a d d r e s s t h e q u e s t i o n o f p a r a l l e l i z a t i o n o n m u l t i - p r o c e s s o r m a c h i n e s , w h i c h a d d s e v e n g r e a t e r

d i c u l t y t o F F T i m p l e m e n t a t i o n a l t h o u g h m u l t i - p r o c e s s o r s a r e i n c r e a s i n g l y i m p o r t a n t , a c h i e v i n g g o o d

s e r i a l p e r f o r m a n c e i s a b a s i c p r e r e q u i s i t e f o r o p t i m i z e d p a r a l l e l c o d e , a n d i s a l r e a d y h a r d e n o u g h !

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 118/254

1 1 2

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

t o c o m p u t e t h e s a m e r e s u l t . T h e m o s t i m p o r t a n t F F T ( a n d t h e o n e p r i m a r i l y u s e d i n

F F T W ) i s k n o w n a s t h e C o o l e y - T u k e y a l g o r i t h m , a f t e r t h e t w o a u t h o r s w h o r e d i s c o v e r e d

a n d p o p u l a r i z e d i t i n 1 9 6 5 [ 9 2 ] , a l t h o u g h i t h a d b e e n p r e v i o u s l y k n o w n a s e a r l y a s 1 8 0 5 b y

G a u s s a s w e l l a s b y l a t e r r e - i n v e n t o r s [ 1 7 3 ] . T h e b a s i c i d e a b e h i n d t h i s F F T i s t h a t a D F T

o f a c o m p o s i t e s i z e n = n1n2 c a n b e r e - e x p r e s s e d i n t e r m s o f s m a l l e r D F T s o f s i z e s n1 a n d

n2 e s s e n t i a l l y , a s a t w o - d i m e n s i o n a l D F T o f s i z e n1 × n2 w h e r e t h e o u t p u t i s t r a n s p o s e d .

T h e c h o i c e s o f f a c t o r i z a t i o n s o f n, c o m b i n e d w i t h t h e m a n y d i e r e n t w a y s t o i m p l e m e n t t h e

d a t a r e - o r d e r i n g s o f t h e t r a n s p o s i t i o n s , h a v e l e d t o n u m e r o u s i m p l e m e n t a t i o n s t r a t e g i e s f o r

t h e C o o l e y - T u k e y F F T , w i t h m a n y v a r i a n t s d i s t i n g u i s h e d b y t h e i r o w n n a m e s [ 1 1 4 ] , [ 3 8 9 ] .

F F T W i m p l e m e n t s a s p a c e o f m a n y s u c h v a r i a n t s , a s d e s c r i b e d i n " A d a p t i v e C o m p o s i t i o n

o f F F T A l g o r i t h m s " ( S e c t i o n 1 1 . 5 : A d a p t i v e C o m p o s i t i o n o f F F T A l g o r i t h m s ) , b u t h e r e w e

d e r i v e t h e b a s i c a l g o r i t h m , i d e n t i f y i t s k e y f e a t u r e s , a n d o u t l i n e s o m e i m p o r t a n t h i s t o r i c a l

v a r i a t i o n s a n d t h e i r r e l a t i o n t o F F T W .

T h e C o o l e y - T u k e y a l g o r i t h m c a n b e d e r i v e d a s f o l l o w s . I f n c a n b e f a c t o r e d i n t o n = n1n2 ,

( 1 1 . 1 ) c a n b e r e w r i t t e n b y l e t t i n g = 1n2 + 2 a n d k = k1 + k2n1 . W e t h e n h a v e :

Y [k1 + k2n1] =n2−12=0

n1−11=0

X [1n2 + 2] ω1k1n1

ω2k1n

ω2k2n2

, ( 1 1 . 2 )

w h e r e k1,2 = 0,...,n1,2 − 1 . T h u s , t h e a l g o r i t h m c o m p u t e s n2 D F T s o f s i z e n1 ( t h e i n n e r

s u m ) , m u l t i p l i e s t h e r e s u l t b y t h e s o - c a l l e d [ 1 3 9 ] t w i d d l e f a c t o r s ω2k1n , a n d n a l l y c o m p u t e s

n1 D F T s o f s i z e n2 ( t h e o u t e r s u m ) . T h i s d e c o m p o s i t i o n i s t h e n c o n t i n u e d r e c u r s i v e l y . T h e

l i t e r a t u r e u s e s t h e t e r m r a d i x t o d e s c r i b e a n n1 o r n2 t h a t i s b o u n d e d ( o f t e n c o n s t a n t ) ; t h e

s m a l l D F T o f t h e r a d i x i s t r a d i t i o n a l l y c a l l e d a b u t t e r y .

M a n y w e l l - k n o w n v a r i a t i o n s a r e d i s t i n g u i s h e d b y t h e r a d i x a l o n e . A d e c i m a t i o n i n t i m e

( D I T ) a l g o r i t h m u s e s n2 a s t h e r a d i x , w h i l e a d e c i m a t i o n i n f r e q u e n c y ( D I F ) a l g o r i t h m

u s e s n1 a s t h e r a d i x . I f m u l t i p l e r a d i c e s a r e u s e d , e . g . f o r n c o m p o s i t e b u t n o t a p r i m e p o w e r ,

t h e a l g o r i t h m i s c a l l e d m i x e d r a d i x . A p e c u l i a r b l e n d i n g o f r a d i x 2 a n d 4 i s c a l l e d s p l i t

r a d i x , w h i c h w a s p r o p o s e d t o m i n i m i z e t h e c o u n t o f a r i t h m e t i c o p e r a t i o n s [ 4 2 2 ] , [ 1 0 7 ] , [ 3 9 1 ] ,

[ 2 3 0 ] , [ 1 1 4 ] a l t h o u g h i t h a s b e e n s u p e r s e d e d i n t h i s r e g a r d [ 2 0 2 ] , [ 2 2 5 ] . F F T W i m p l e m e n t s

b o t h D I T a n d D I F , i s m i x e d - r a d i x w i t h r a d i c e s t h a t a r e a d a p t e d t o t h e h a r d w a r e , a n d

o f t e n u s e s m u c h l a r g e r r a d i c e s ( e . g . r a d i x 3 2 ) t h a n w e r e o n c e c o m m o n . O n t h e o t h e r e n d o f

t h e s c a l e , a r a d i x o f r o u g h l y

√ n h a s b e e n c a l l e d a f o u r - s t e p F F T a l g o r i t h m ( o r s i x - s t e p ,

d e p e n d i n g o n h o w m a n y t r a n s p o s e s o n e p e r f o r m s ) [ 1 4 ] ; s e e " F F T s a n d t h e M e m o r y H i e r -

a r c h y " ( S e c t i o n 1 1 . 4 : F F T s a n d t h e M e m o r y H i e r a r c h y ) f o r s o m e t h e o r e t i c a l a n d p r a c t i c a l

d i s c u s s i o n o f t h i s a l g o r i t h m .

A k e y d i c u l t y i n i m p l e m e n t i n g t h e C o o l e y - T u k e y F F T i s t h a t t h e n1 d i m e n s i o n c o r r e s p o n d s

t o d i s c o n t i g u o u s i n p u t s 1 i n X b u t c o n t i g u o u s o u t p u t s k1 i n Y , a n d v i c e - v e r s a f o r n2 . T h i s

i s a m a t r i x t r a n s p o s e f o r a s i n g l e d e c o m p o s i t i o n s t a g e , a n d t h e c o m p o s i t i o n o f a l l s u c h

t r a n s p o s i t i o n s i s a ( m i x e d - b a s e ) d i g i t - r e v e r s a l p e r m u t a t i o n ( o r b i t - r e v e r s a l , f o r r a d i x 2 ) .

T h e r e s u l t i n g n e c e s s i t y o f d i s c o n t i g u o u s m e m o r y a c c e s s a n d d a t a r e - o r d e r i n g h i n d e r s e c i e n t

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 119/254

1 1 3

u s e o f h i e r a r c h i c a l m e m o r y a r c h i t e c t u r e s ( e . g . , c a c h e s ) , s o t h a t t h e o p t i m a l e x e c u t i o n o r d e r

o f a n F F T f o r g i v e n h a r d w a r e i s n o n - o b v i o u s , a n d v a r i o u s a p p r o a c h e s h a v e b e e n p r o p o s e d .

F i g u r e 1 1 . 2 : S c h e m a t i c o f t r a d i t i o n a l b r e a d t h - r s t ( l e f t ) v s . r e c u r s i v e d e p t h - r s t ( r i g h t )

o r d e r i n g f o r r a d i x - 2 F F T o f s i z e 8 : t h e c o m p u t a t i o n s f o r e a c h n e s t e d b o x a r e c o m p l e t e d

b e f o r e d o i n g a n y t h i n g e l s e i n t h e s u r r o u n d i n g b o x . B r e a d t h - r s t c o m p u t a t i o n p e r f o r m s

a l l b u t t e r i e s o f a g i v e n s i z e a t o n c e , w h i l e d e p t h - r s t c o m p u t a t i o n c o m p l e t e s o n e s u b -

t r a n s f o r m e n t i r e l y b e f o r e m o v i n g o n t o t h e n e x t ( a s i n t h e a l g o r i t h m b e l o w ) .

O n e o r d e r i n g d i s t i n c t i o n i s b e t w e e n r e c u r s i o n a n d i t e r a t i o n . A s e x p r e s s e d a b o v e , t h e C o o l e y -

T u k e y a l g o r i t h m c o u l d b e t h o u g h t o f a s d e n i n g a t r e e o f s m a l l e r a n d s m a l l e r D F T s , a s

d e p i c t e d i n F i g u r e 1 1 . 2 ; f o r e x a m p l e , a t e x t b o o k r a d i x - 2 a l g o r i t h m w o u l d d i v i d e s i z e n i n t o

t w o t r a n s f o r m s o f s i z e

n/2, w h i c h a r e d i v i d e d i n t o f o u r t r a n s f o r m s o f s i z e

n/4, a n d s o o n

u n t i l a b a s e c a s e i s r e a c h e d ( i n p r i n c i p l e , s i z e 1 ) . T h i s m i g h t n a t u r a l l y s u g g e s t a r e c u r s i v e

i m p l e m e n t a t i o n i n w h i c h t h e t r e e i s t r a v e r s e d d e p t h - r s t a s i n F i g u r e 1 1 . 2 ( r i g h t ) a n d t h e

a l g o r i t h m o f p . ? ? o n e s i z e n/2 t r a n s f o r m i s s o l v e d c o m p l e t e l y b e f o r e p r o c e s s i n g t h e o t h e r

o n e , a n d s o o n . H o w e v e r , m o s t t r a d i t i o n a l F F T i m p l e m e n t a t i o n s a r e n o n - r e c u r s i v e ( w i t h r a r e

e x c e p t i o n s [ 3 4 1 ] ) a n d t r a v e r s e t h e t r e e b r e a d t h - r s t [ 3 8 9 ] a s i n F i g u r e 1 1 . 2 ( l e f t ) i n t h e

r a d i x - 2 e x a m p l e , t h e y w o u l d p e r f o r m n ( t r i v i a l ) s i z e - 1 t r a n s f o r m s , t h e n n/2 c o m b i n a t i o n s

i n t o s i z e - 2 t r a n s f o r m s , t h e n n/4 c o m b i n a t i o n s i n t o s i z e - 4 t r a n s f o r m s , a n d s o o n , t h u s m a k i n g

log2n p a s s e s o v e r t h e w h o l e a r r a y . I n c o n t r a s t , a s w e d i s c u s s i n " D i s c u s s i o n " ( S e c t i o n 1 1 . 5 . 2 . 6 :

D i s c u s s i o n ) , F F T W e m p l o y s a n e x p l i c i t l y r e c u r s i v e s t r a t e g y t h a t e n c o m p a s s e s b o t h d e p t h -

r s t a n d b r e a d t h - r s t s t y l e s , f a v o r i n g t h e f o r m e r s i n c e i t h a s s o m e t h e o r e t i c a l a n d p r a c t i c a l

a d v a n t a g e s a s d i s c u s s e d i n " F F T s a n d t h e M e m o r y H i e r a r c h y " ( S e c t i o n 1 1 . 4 : F F T s a n d t h e

M e m o r y H i e r a r c h y ) .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 120/254

1 1 4

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

Y [0,...,n − 1] ← recfft 2 (n,X, ι ):

I F n = 1 T H E N

Y [0] ← X [0]E L S E

Y [0,...,n/2 − 1] ← recfft2 (n/2,X, 2ι )Y [n/2,...,n − 1] ← recfft2 (n/2,X+ ι , 2ι )F O R k _ 1 = 0 T O (n/2) − 1 D O

t ← Y [k _ 1]Y [k _ 1] ← t + ω _ nˆk _ 1Y [k _ 1 + n/2]Y [k _ 1 + n/2] ← t − ω _ nˆk _ 1Y [k _ 1 + n/2]

E N D F O R

E N D I F

L i s t i n g 1 1 . 1 : A d e p t h - r s t r e c u r s i v e r a d i x - 2 D I T C o o l e y - T u k e y F F T t o c o m p u t e a D F T

o f a p o w e r - o f - t w o s i z e n = 2m. T h e i n p u t i s a n a r r a y X o f l e n g t h n w i t h s t r i d e ι ( i . e . , t h e

i n p u t s a r e X [ι] f o r = 0,...,n−1) a n d t h e o u t p u t i s a n a r r a y Y o f l e n g t h n ( w i t h s t r i d e

1 ) , c o n t a i n i n g t h e D F T o f X [ E q u a t i o n 1 ] . X+ ι d e n o t e s t h e a r r a y b e g i n n i n g w i t h X [ι].

T h i s a l g o r i t h m o p e r a t e s o u t - o f - p l a c e , p r o d u c e s i n - o r d e r o u t p u t , a n d d o e s n o t r e q u i r e a

s e p a r a t e b i t - r e v e r s a l s t a g e .

A s e c o n d o r d e r i n g d i s t i n c t i o n l i e s i n h o w t h e d i g i t - r e v e r s a l i s p e r f o r m e d . T h e c l a s s i c a p p r o a c h

i s a s i n g l e , s e p a r a t e d i g i t - r e v e r s a l p a s s f o l l o w i n g o r p r e c e d i n g t h e a r i t h m e t i c c o m p u t a t i o n s ;

t h i s a p p r o a c h i s s o c o m m o n a n d s o d e e p l y e m b e d d e d i n t o F F T l o r e t h a t m a n y p r a c t i t i o n e r s

n d i t d i c u l t t o i m a g i n e a n F F T w i t h o u t a n e x p l i c i t b i t - r e v e r s a l s t a g e . A l t h o u g h t h i s

p a s s r e q u i r e s o n l y O (n) t i m e [ 2 0 7 ] , i t c a n s t i l l b e n o n - n e g l i g i b l e , e s p e c i a l l y i f t h e d a t a i s

o u t - o f - c a c h e ; m o r e o v e r , i t n e g l e c t s t h e p o s s i b i l i t y t h a t d a t a r e o r d e r i n g d u r i n g t h e t r a n s f o r m

m a y i m p r o v e m e m o r y l o c a l i t y . P e r h a p s t h e o l d e s t a l t e r n a t i v e i s t h e S t o c k h a m a u t o - s o r t

F F T [ 3 6 7 ] , [ 3 8 9 ] , w h i c h t r a n s f o r m s b a c k a n d f o r t h b e t w e e n t w o a r r a y s w i t h e a c h b u t t e r y ,

t r a n s p o s i n g o n e d i g i t e a c h t i m e , a n d w a s p o p u l a r t o i m p r o v e c o n t i g u i t y o f a c c e s s f o r v e c t o r

c o m p u t e r s [ 3 7 2 ] . A l t e r n a t i v e l y , a n e x p l i c i t l y r e c u r s i v e s t y l e , a s i n F F T W , p e r f o r m s t h e d i g i t -

r e v e r s a l i m p l i c i t l y a t t h e l e a v e s o f i t s c o m p u t a t i o n w h e n o p e r a t i n g o u t - o f - p l a c e ( s e e s e c t i o n

" D i s c u s s i o n " ( S e c t i o n 1 1 . 5 . 2 . 6 : D i s c u s s i o n ) ) . A s i m p l e e x a m p l e o f t h i s s t y l e , w h i c h c o m p u t e s

i n - o r d e r o u t p u t u s i n g a n o u t - o f - p l a c e r a d i x - 2 F F T w i t h o u t e x p l i c i t b i t - r e v e r s a l , i s s h o w n i n

t h e a l g o r i t h m o f p . ? ? [ c o r r e s p o n d i n g t o F i g u r e 1 1 . 2 ( r i g h t ) ] . T o o p e r a t e i n - p l a c e w i t h O (1)s c r a t c h s t o r a g e , o n e c a n i n t e r l e a v e s m a l l m a t r i x t r a n s p o s i t i o n s w i t h t h e b u t t e r i e s [ 1 9 5 ] ,

[ 3 7 5 ] , [ 2 9 7 ] , [ 1 6 6 ] , a n d a r e l a t e d s t r a t e g y i n F F T W [ 1 3 4 ] i s b r i e y d e s c r i b e d b y " D i s c u s s i o n "

( S e c t i o n 1 1 . 5 . 2 . 6 : D i s c u s s i o n ) .

F i n a l l y , w e s h o u l d m e n t i o n t h a t t h e r e a r e m a n y F F T s e n t i r e l y d i s t i n c t f r o m C o o l e y - T u k e y .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 121/254

1 1 5

T h r e e n o t a b l e s u c h a l g o r i t h m s a r e t h e p r i m e - f a c t o r a l g o r i t h m f o r gcd (n1, n2) = 1 [ 2 7 8 ] ,

a l o n g w i t h R a d e r ' s [ 3 0 9 ] a n d B l u e s t e i n ' s [ 3 5 ] , [ 3 0 5 ] , [ 2 7 8 ] a l g o r i t h m s f o r p r i m e n. F F T W

i m p l e m e n t s t h e r s t t w o i n i t s c o d e l e t g e n e r a t o r f o r h a r d - c o d e d n " G e n e r a t i n g S m a l l F F T

K e r n e l s " ( S e c t i o n 1 1 . 6 : G e n e r a t i n g S m a l l F F T K e r n e l s ) a n d t h e l a t t e r t w o f o r g e n e r a l p r i m e

n ( s e c t i o n s " P l a n s f o r p r i m e s i z e s " ( S e c t i o n 1 1 . 5 . 2 . 5 : P l a n s f o r p r i m e s i z e s ) a n d " G o a l s a n d

B a c k g r o u n d o f t h e F F T W P r o j e c t " ( S e c t i o n 1 1 . 3 : G o a l s a n d B a c k g r o u n d o f t h e F F T W

P r o j e c t ) ) . T h e r e i s a l s o t h e W i n o g r a d F F T [ 4 1 1 ] , [ 1 8 0 ] , [ 1 1 6 ] , [ 1 1 4 ] , w h i c h m i n i m i z e s t h e

n u m b e r o f m u l t i p l i c a t i o n s a t t h e e x p e n s e o f a l a r g e n u m b e r o f a d d i t i o n s ; t h i s t r a d e - o i s n o t

b e n e c i a l o n c u r r e n t p r o c e s s o r s t h a t h a v e s p e c i a l i z e d h a r d w a r e m u l t i p l i e r s .

1 1 . 3 G o a l s a n d B a c k g r o u n d o f t h e F F T W P r o j e c t

T h e F F T W p r o j e c t , b e g u n i n 1 9 9 7 a s a s i d e p r o j e c t o f t h e a u t h o r s F r i g o a n d J o h n s o n a s

g r a d u a t e s t u d e n t s a t M I T , h a s g o n e t h r o u g h s e v e r a l m a j o r r e v i s i o n s , a n d a s o f 2 0 0 8 c o n s i s t s

o f m o r e t h a n 4 0 , 0 0 0 l i n e s o f c o d e . I t i s d i c u l t t o m e a s u r e t h e p o p u l a r i t y o f a f r e e - s o f t w a r e

p a c k a g e , b u t ( a s o f 2 0 0 8 ) F F T W h a s b e e n c i t e d i n o v e r 5 0 0 a c a d e m i c p a p e r s , i s u s e d i n

h u n d r e d s o f s h i p p i n g f r e e a n d p r o p r i e t a r y s o f t w a r e p a c k a g e s , a n d t h e a u t h o r s h a v e r e c e i v e d

o v e r 1 0 , 0 0 0 e m a i l s f r o m u s e r s o f t h e s o f t w a r e . M o s t o f t h i s c h a p t e r f o c u s e s o n p e r f o r m a n c e

o f F F T i m p l e m e n t a t i o n s , b u t F F T W w o u l d p r o b a b l y n o t b e w h e r e i t i s t o d a y i f t h a t w e r e

t h e o n l y c o n s i d e r a t i o n i n i t s d e s i g n . O n e o f t h e k e y f a c t o r s i n F F T W ' s s u c c e s s s e e m s t o

h a v e b e e n i t s e x i b i l i t y i n a d d i t i o n t o i t s p e r f o r m a n c e . I n f a c t , F F T W i s p r o b a b l y t h e m o s t

e x i b l e D F T l i b r a r y a v a i l a b l e :

•F F T W i s w r i t t e n i n p o r t a b l e C a n d r u n s w e l l o n m a n y a r c h i t e c t u r e s a n d o p e r a t i n g

s y s t e m s .

• F F T W c o m p u t e s D F T s i n O (nlogn) t i m e f o r a n y l e n g t h n. ( M o s t o t h e r D F T i m p l e -

m e n t a t i o n s a r e e i t h e r r e s t r i c t e d t o a s u b s e t o f s i z e s o r t h e y b e c o m e Θ (n2) f o r c e r t a i n

v a l u e s o f n, f o r e x a m p l e w h e n n i s p r i m e . )

• F F T W i m p o s e s n o r e s t r i c t i o n s o n t h e r a n k ( d i m e n s i o n a l i t y ) o f m u l t i - d i m e n s i o n a l t r a n s -

f o r m s . ( M o s t o t h e r i m p l e m e n t a t i o n s a r e l i m i t e d t o o n e - d i m e n s i o n a l , o r a t m o s t t w o -

a n d t h r e e - d i m e n s i o n a l d a t a . )

• F F T W s u p p o r t s m u l t i p l e a n d / o r s t r i d e d D F T s ; f o r e x a m p l e , t o t r a n s f o r m a 3 -

c o m p o n e n t v e c t o r e l d o r a p o r t i o n o f a m u l t i - d i m e n s i o n a l a r r a y . ( M o s t i m p l e m e n -

t a t i o n s s u p p o r t o n l y a s i n g l e D F T o f c o n t i g u o u s d a t a . )

• F F T W s u p p o r t s D F T s o f r e a l d a t a , a s w e l l a s o f r e a l s y m m e t r i c / a n t i - s y m m e t r i c d a t a

( a l s o c a l l e d d i s c r e t e c o s i n e / s i n e t r a n s f o r m s ) .

O u r d e s i g n p h i l o s o p h y h a s b e e n t o r s t d e n e t h e m o s t g e n e r a l r e a s o n a b l e f u n c t i o n a l i t y , a n d

t h e n t o o b t a i n t h e h i g h e s t p o s s i b l e p e r f o r m a n c e w i t h o u t s a c r i c i n g t h i s g e n e r a l i t y . I n t h i s

s e c t i o n , w e o e r a f e w t h o u g h t s a b o u t w h y s u c h e x i b i l i t y h a s p r o v e d i m p o r t a n t , a n d h o w

i t c a m e a b o u t t h a t F F T W w a s d e s i g n e d i n t h i s w a y .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 122/254

1 1 6

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

F F T W ' s g e n e r a l i t y i s p a r t l y a c o n s e q u e n c e o f t h e f a c t t h e F F T W p r o j e c t w a s s t a r t e d i n

r e s p o n s e t o t h e n e e d s o f a r e a l a p p l i c a t i o n f o r o n e o f t h e a u t h o r s ( a s p e c t r a l s o l v e r f o r

M a x w e l l ' s e q u a t i o n s [ 2 0 4 ] ) , w h i c h f r o m t h e b e g i n n i n g h a d t o r u n o n h e t e r o g e n e o u s h a r d w a r e .

O u r i n i t i a l a p p l i c a t i o n r e q u i r e d m u l t i - d i m e n s i o n a l D F T s o f t h r e e - c o m p o n e n t v e c t o r e l d s

( m a g n e t i c e l d s i n e l e c t r o m a g n e t i s m ) , a n d s o r i g h t a w a y t h i s m e a n t : ( i ) m u l t i - d i m e n s i o n a l

F F T s ; ( i i ) u s e r - a c c e s s i b l e l o o p s o f F F T s o f d i s c o n t i g u o u s d a t a ; ( i i i ) e c i e n t s u p p o r t f o r n o n -

p o w e r - o f - t w o s i z e s ( t h e f a c t o r o f e i g h t d i e r e n c e b e t w e e n n × n × n a n d 2n × 2n × 2n w a s

t o o m u c h t o t o l e r a t e ) ; a n d ( i v ) s a v i n g a f a c t o r o f t w o f o r t h e c o m m o n r e a l - i n p u t c a s e w a s

d e s i r a b l e . T h a t i s , t h e i n i t i a l r e q u i r e m e n t s a l r e a d y e n c o m p a s s e d m o s t o f t h e f e a t u r e s a b o v e ,

a n d n o t h i n g a b o u t t h i s a p p l i c a t i o n i s p a r t i c u l a r l y u n u s u a l .

E v e n f o r o n e - d i m e n s i o n a l D F T s , t h e r e i s a c o m m o n m i s p e r c e p t i o n t h a t o n e s h o u l d a l w a y s

c h o o s e p o w e r - o f - t w o s i z e s i f o n e c a r e s a b o u t e c i e n c y . T h a n k s t o F F T W ' s c o d e g e n e r a t o r

( d e s c r i b e d i n " G e n e r a t i n g S m a l l F F T K e r n e l s " ( S e c t i o n 1 1 . 6 : G e n e r a t i n g S m a l l F F T K e r -

n e l s ) ) , w e c o u l d a o r d t o d e v o t e e q u a l o p t i m i z a t i o n e o r t t o a n y n w i t h s m a l l f a c t o r s ( 2 , 3 ,

5 , a n d 7 a r e g o o d ) , i n s t e a d o f m o s t l y o p t i m i z i n g p o w e r s o f t w o l i k e m a n y h i g h - p e r f o r m a n c e

F F T s . A s a r e s u l t , t o p i c k a t y p i c a l e x a m p l e o n t h e 3 G H z C o r e D u o p r o c e s s o r o f F i g u r e 1 1 . 1 ,

n = 3600 = 24 · 32 · 52 a n d n = 3840 = 28 · 3 · 5 b o t h e x e c u t e f a s t e r t h a n n = 4096 = 212 .

( A n d i f t h e r e a r e f a c t o r s o n e p a r t i c u l a r l y c a r e s a b o u t , o n e c a n g e n e r a t e c o d e f o r t h e m t o o . )

O n e i n i t i a l l y m i s s i n g f e a t u r e w a s e c i e n t s u p p o r t f o r l a r g e p r i m e s i z e s ; t h e c o n v e n t i o n a l w i s -

d o m w a s t h a t l a r g e - p r i m e a l g o r i t h m s w e r e m a i n l y o f a c a d e m i c i n t e r e s t , s i n c e i n r e a l a p p l i c a -

t i o n s ( i n c l u d i n g o u r s ) o n e h a s e n o u g h f r e e d o m t o c h o o s e a h i g h l y c o m p o s i t e t r a n s f o r m s i z e .

H o w e v e r , t h e p r i m e - s i z e a l g o r i t h m s a r e f a s c i n a t i n g , s o w e i m p l e m e n t e d R a d e r ' s O (nlogn)p r i m e - n a l g o r i t h m [ 3 0 9 ] p u r e l y f o r f u n , i n c l u d i n g i t i n F F T W 2 . 0 ( r e l e a s e d i n 1 9 9 8 ) a s a

b o n u s f e a t u r e . T h e r e s p o n s e w a s a s t o n i s h i n g l y p o s i t i v e e v e n t h o u g h u s e r s a r e ( p r o b a b l y )

n e v e r f o r c e d b y t h e i r a p p l i c a t i o n t o c o m p u t e a p r i m e - s i z e D F T , i t i s r a t h e r i n c o n v e n i e n t t o

a l w a y s w o r r y t h a t c o l l e c t i n g a n u n l u c k y n u m b e r o f d a t a p o i n t s w i l l s l o w d o w n o n e ' s a n a l y s i s

b y a f a c t o r o f a m i l l i o n . T h e p r i m e - s i z e a l g o r i t h m s a r e c e r t a i n l y s l o w e r t h a n a l g o r i t h m s f o r

n e a r b y c o m p o s i t e s i z e s , b u t i n i n t e r a c t i v e d a t a - a n a l y s i s s i t u a t i o n s t h e d i e r e n c e b e t w e e n 1

m s a n d 1 0 m s m e a n s l i t t l e , w h i l e e d u c a t i n g u s e r s t o a v o i d l a r g e p r i m e f a c t o r s i s h a r d .

A n o t h e r f o r m o f e x i b i l i t y t h a t d e s e r v e s c o m m e n t h a s t o d o w i t h a p u r e l y t e c h n i c a l a s p e c t o f

c o m p u t e r s o f t w a r e . F F T W ' s i m p l e m e n t a t i o n i n v o l v e s s o m e u n u s u a l l a n g u a g e c h o i c e s i n t e r -

n a l l y ( t h e F F T - k e r n e l g e n e r a t o r , d e s c r i b e d i n " G e n e r a t i n g S m a l l F F T K e r n e l s " ( S e c t i o n 1 1 . 6 :

G e n e r a t i n g S m a l l F F T K e r n e l s ) , i s w r i t t e n i n O b j e c t i v e C a m l , a f u n c t i o n a l l a n g u a g e e s p e -

c i a l l y s u i t e d f o r c o m p i l e r - l i k e p r o g r a m s ) , b u t i t s u s e r - c a l l a b l e i n t e r f a c e i s p u r e l y i n C w i t h

l o w e s t - c o m m o n - d e n o m i n a t o r d a t a t y p e s ( a r r a y s o f o a t i n g - p o i n t v a l u e s ) . T h e a d v a n t a g e o f

t h i s i s t h a t F F T W c a n b e ( a n d h a s b e e n ) c a l l e d f r o m a l m o s t a n y o t h e r p r o g r a m m i n g l a n -

g u a g e , f r o m J a v a t o P e r l t o F o r t r a n 7 7 . S i m i l a r l o w e s t - c o m m o n - d e n o m i n a t o r i n t e r f a c e s a r e

a p p a r e n t i n m a n y o t h e r p o p u l a r n u m e r i c a l l i b r a r i e s , s u c h a s L A P A C K [ 1 0 ] . L a n g u a g e p r e f e r -

e n c e s a r o u s e s t r o n g f e e l i n g s , b u t t h i s t e c h n i c a l c o n s t r a i n t m e a n s t h a t m o d e r n p r o g r a m m i n g

d i a l e c t s a r e b e s t h i d d e n f r o m v i e w f o r a n u m e r i c a l l i b r a r y .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 123/254

1 1 7

U l t i m a t e l y , v e r y f e w s c i e n t i c - c o m p u t i n g a p p l i c a t i o n s s h o u l d h a v e p e r f o r m a n c e a s t h e i r t o p

p r i o r i t y . F l e x i b i l i t y i s o f t e n f a r m o r e i m p o r t a n t , b e c a u s e o n e w a n t s t o b e l i m i t e d o n l y b y o n e ' s

i m a g i n a t i o n , r a t h e r t h a n b y o n e ' s s o f t w a r e , i n t h e k i n d s o f p r o b l e m s t h a t c a n b e s t u d i e d .

1 1 . 4 F F T s a n d t h e M e m o r y H i e r a r c h y

T h e r e a r e m a n y c o m p l e x i t i e s o f c o m p u t e r a r c h i t e c t u r e s t h a t i m p a c t t h e o p t i m i z a t i o n o f F F T

i m p l e m e n t a t i o n s , b u t o n e o f t h e m o s t p e r v a s i v e i s t h e m e m o r y h i e r a r c h y . O n a n y m o d e r n

g e n e r a l - p u r p o s e c o m p u t e r , m e m o r y i s a r r a n g e d i n t o a h i e r a r c h y o f s t o r a g e d e v i c e s w i t h i n -

c r e a s i n g s i z e a n d d e c r e a s i n g s p e e d : t h e f a s t e s t a n d s m a l l e s t m e m o r y b e i n g t h e C P U r e g i s t e r s ,

t h e n t w o o r t h r e e l e v e l s o f c a c h e , t h e n t h e m a i n - m e m o r y R A M , t h e n e x t e r n a l s t o r a g e s u c h

a s h a r d d i s k s .

4

M o s t o f t h e s e l e v e l s a r e m a n a g e d a u t o m a t i c a l l y b y t h e h a r d w a r e t o h o l d t h e

m o s t - r e c e n t l y - u s e d d a t a f r o m t h e n e x t l e v e l i n t h e h i e r a r c h y .

5

T h e r e a r e m a n y c o m p l i c a t i o n s ,

h o w e v e r , s u c h a s l i m i t e d c a c h e a s s o c i a t i v i t y ( w h i c h m e a n s t h a t c e r t a i n l o c a t i o n s i n m e m o r y

c a n n o t b e c a c h e d s i m u l t a n e o u s l y ) a n d c a c h e l i n e s ( w h i c h o p t i m i z e t h e c a c h e f o r c o n t i g u o u s

m e m o r y a c c e s s ) , w h i c h a r e r e v i e w e d i n n u m e r o u s t e x t b o o k s o n c o m p u t e r a r c h i t e c t u r e s . I n

t h i s s e c t i o n , w e f o c u s o n t h e s i m p l e s t a b s t r a c t p r i n c i p l e s o f m e m o r y h i e r a r c h i e s i n o r d e r t o

g r a s p t h e i r f u n d a m e n t a l i m p a c t o n F F T s .

B e c a u s e a c c e s s t o m e m o r y i s i n m a n y c a s e s t h e s l o w e s t p a r t o f t h e c o m p u t e r , e s p e c i a l l y

c o m p a r e d t o a r i t h m e t i c , o n e w i s h e s t o l o a d a s m u c h d a t a a s p o s s i b l e i n t o t h e f a s t e r l e v e l s

o f t h e h i e r a r c h y , a n d t h e n p e r f o r m a s m u c h c o m p u t a t i o n a s p o s s i b l e b e f o r e g o i n g b a c k t o

t h e s l o w e r m e m o r y d e v i c e s . T h i s i s c a l l e d t e m p o r a l l o c a l i t y : i f a g i v e n d a t u m i s u s e d

m o r e t h a n o n c e , w e a r r a n g e t h e c o m p u t a t i o n s o t h a t t h e s e u s a g e s o c c u r a s c l o s e t o g e t h e r a s

p o s s i b l e i n t i m e .

1 1 . 4 . 1 U n d e r s t a n d i n g F F T s w i t h a n i d e a l c a c h e

T o u n d e r s t a n d t e m p o r a l - l o c a l i t y s t r a t e g i e s a t a b a s i c l e v e l , i n t h i s s e c t i o n w e w i l l e m p l o y a n

i d e a l i z e d m o d e l o f a c a c h e i n a t w o - l e v e l m e m o r y h i e r a r c h y , a s d e n e d i n [ 1 3 7 ] . T h i s i d e a l

c a c h e s t o r e s Z d a t a i t e m s f r o m m a i n m e m o r y ( e . g . c o m p l e x n u m b e r s f o r o u r p u r p o s e s ) :

w h e n t h e p r o c e s s o r l o a d s a d a t u m f r o m m e m o r y , t h e a c c e s s i s q u i c k i f t h e d a t u m i s a l r e a d y

i n t h e c a c h e ( a c a c h e h i t ) a n d s l o w o t h e r w i s e ( a c a c h e m i s s , w h i c h r e q u i r e s t h e d a t u m t o

b e f e t c h e d i n t o t h e c a c h e ) . W h e n a d a t u m i s l o a d e d i n t o t h e c a c h e ,

6

i t m u s t r e p l a c e s o m e

4

A h a r d d i s k i s u t i l i z e d b y o u t - o f - c o r e F F T a l g o r i t h m s f o r v e r y l a r g e n [ 3 8 9 ] , b u t t h e s e a l g o r i t h m s

a p p e a r t o h a v e b e e n l a r g e l y s u p e r s e d e d i n p r a c t i c e b y b o t h t h e g i g a b y t e s o f m e m o r y n o w c o m m o n o n

p e r s o n a l c o m p u t e r s a n d , f o r e x t r e m e l y l a r g e n, b y a l g o r i t h m s f o r d i s t r i b u t e d - m e m o r y p a r a l l e l c o m p u t e r s .

5

T h i s i n c l u d e s t h e r e g i s t e r s : o n c u r r e n t x 8 6 p r o c e s s o r s , t h e u s e r - v i s i b l e i n s t r u c t i o n s e t ( w i t h a s m a l l

n u m b e r o f o a t i n g - p o i n t r e g i s t e r s ) i s i n t e r n a l l y t r a n s l a t e d a t r u n t i m e t o R I S C - l i k e µ- o p s w i t h a m u c h l a r g e r

n u m b e r o f p h y s i c a l r e n a m e r e g i s t e r s t h a t a r e a l l o c a t e d a u t o m a t i c a l l y .

6

M o r e g e n e r a l l y , o n e c a n a s s u m e t h a t a c a c h e l i n e o f

Lc o n s e c u t i v e d a t a i t e m s a r e l o a d e d i n t o t h e c a c h e

a t o n c e , i n o r d e r t o e x p l o i t s p a t i a l l o c a l i t y . T h e i d e a l - c a c h e m o d e l i n t h i s c a s e r e q u i r e s t h a t t h e c a c h e b e

t a l l : Z = ΩL2

[ 1 3 7 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 124/254

1 1 8

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

o t h e r d a t u m , a n d t h e i d e a l - c a c h e m o d e l a s s u m e s t h a t t h e o p t i m a l r e p l a c e m e n t s t r a t e g y i s

u s e d [ 2 0 ] : t h e n e w d a t u m r e p l a c e s t h e d a t u m t h a t w i l l n o t b e n e e d e d f o r t h e l o n g e s t t i m e i n

t h e f u t u r e ; i n p r a c t i c e , t h i s c a n b e s i m u l a t e d t o w i t h i n a f a c t o r o f t w o b y r e p l a c i n g t h e l e a s t -

r e c e n t l y u s e d d a t u m [ 1 3 7 ] , b u t i d e a l r e p l a c e m e n t i s m u c h s i m p l e r t o a n a l y z e . A r m e d w i t h

t h i s i d e a l - c a c h e m o d e l , w e c a n n o w u n d e r s t a n d s o m e b a s i c f e a t u r e s o f F F T i m p l e m e n t a t i o n s

t h a t r e m a i n e s s e n t i a l l y t r u e e v e n o n r e a l c a c h e a r c h i t e c t u r e s . I n p a r t i c u l a r , w e w a n t t o k n o w

t h e c a c h e c o m p l e x i t y , t h e n u m b e r Q (n; Z ) o f c a c h e m i s s e s f o r a n F F T o f s i z e n w i t h a n

i d e a l c a c h e o f s i z e Z , a n d w h a t a l g o r i t h m c h o i c e s r e d u c e t h i s c o m p l e x i t y .

F i r s t , c o n s i d e r a t e x t b o o k r a d i x - 2 a l g o r i t h m , w h i c h d i v i d e s n b y 2 a t e a c h s t a g e a n d o p e r a t e s

b r e a d t h - r s t a s i n F i g u r e 1 1 . 2 ( l e f t ) , p e r f o r m i n g a l l b u t t e r i e s o f a g i v e n s i z e a t a t i m e . I f

n > Z , t h e n e a c h p a s s o v e r t h e a r r a y i n c u r s Θ (n) c a c h e m i s s e s t o r e l o a d t h e d a t a , a n d

t h e r e a r e log2n p a s s e s , f o r Θ (nlog2n) c a c h e m i s s e s i n t o t a l n o t e m p o r a l l o c a l i t y a t a l l i s

e x p l o i t e d !

O n e t r a d i t i o n a l s o l u t i o n t o t h i s p r o b l e m i s b l o c k i n g : t h e c o m p u t a t i o n i s d i v i d e d i n t o m a x i -

m a l b l o c k s t h a t t i n t o t h e c a c h e , a n d t h e c o m p u t a t i o n s f o r e a c h b l o c k a r e c o m p l e t e d b e f o r e

m o v i n g o n t o t h e n e x t b l o c k . H e r e , a b l o c k o f Z n u m b e r s c a n t i n t o t h e c a c h e

7

( n o t i n -

c l u d i n g s t o r a g e f o r t w i d d l e f a c t o r s a n d s o o n ) , a n d t h u s t h e n a t u r a l u n i t o f c o m p u t a t i o n i s

a s u b - F F T o f s i z e Z . S i n c e e a c h o f t h e s e b l o c k s i n v o l v e s Θ (ZlogZ ) a r i t h m e t i c o p e r a t i o n s ,

a n d t h e r e a r e Θ (nlogn) o p e r a t i o n s o v e r a l l , t h e r e m u s t b e ΘnZ

logZ n

s u c h b l o c k s . M o r e

e x p l i c i t l y , o n e c o u l d u s e a r a d i x - Z C o o l e y - T u k e y a l g o r i t h m , b r e a k i n g n d o w n b y f a c t o r s o f

Z [ o r Θ (Z ) ] u n t i l a s i z e Z i s r e a c h e d : e a c h s t a g e r e q u i r e s n/Z b l o c k s , a n d t h e r e a r e logZ ns t a g e s , a g a i n g i v i n g Θ

nZ logZ n

b l o c k s o v e r a l l . S i n c e e a c h b l o c k r e q u i r e s Z c a c h e m i s s e s t o

l o a d i t i n t o c a c h e , t h e c a c h e c o m p l e x i t y Qb o f s u c h a b l o c k e d a l g o r i t h m i s

Qb (n; Z ) = Θ (nlogZ n) . ( 1 1 . 3 )

I n f a c t , t h i s c o m p l e x i t y i s r i g o r o u s l y o p t i m a l f o r C o o l e y - T u k e y F F T a l g o r i t h m s [ 1 8 4 ] , a n d

i m m e d i a t e l y p o i n t s u s t o w a r d s l a r g e r a d i c e s ( n o t r a d i x 2 ! ) t o e x p l o i t c a c h e s e e c t i v e l y i n

F F T s .

H o w e v e r , t h e r e i s o n e s h o r t c o m i n g o f a n y b l o c k e d F F T a l g o r i t h m : i t i s c a c h e a w a r e , m e a n -

i n g t h a t t h e i m p l e m e n t a t i o n d e p e n d s e x p l i c i t l y o n t h e c a c h e s i z e Z . T h e i m p l e m e n t a t i o n

m u s t b e m o d i e d ( e . g . c h a n g i n g t h e r a d i x ) t o a d a p t t o d i e r e n t m a c h i n e s a s t h e c a c h e s i z e

c h a n g e s . W o r s e , a s m e n t i o n e d a b o v e , a c t u a l m a c h i n e s h a v e m u l t i p l e l e v e l s o f c a c h e , a n d

t o e x p l o i t t h e s e o n e m u s t p e r f o r m m u l t i p l e l e v e l s o f b l o c k i n g , e a c h p a r a m e t e r i z e d b y t h e

c o r r e s p o n d i n g c a c h e s i z e . I n t h e a b o v e e x a m p l e , i f t h e r e w e r e a s m a l l e r a n d f a s t e r c a c h e

o f s i z e z < Z , t h e s i z e - Z s u b - F F T s s h o u l d t h e m s e l v e s b e p e r f o r m e d v i a r a d i x - z C o o l e y -

T u k e y u s i n g b l o c k s o f s i z e z . A n d s o o n . T h e r e a r e t w o p a t h s o u t o f t h e s e d i c u l t i e s : o n e

i s s e l f - o p t i m i z a t i o n , w h e r e t h e i m p l e m e n t a t i o n a u t o m a t i c a l l y a d a p t s i t s e l f t o t h e h a r d w a r e

7

O f c o u r s e , O (n) a d d i t i o n a l s t o r a g e m a y b e r e q u i r e d f o r t w i d d l e f a c t o r s , t h e o u t p u t d a t a ( i f t h e F F T i s

n o t i n - p l a c e ) , a n d s o o n , b u t t h e s e o n l y a e c t t h e n t h a t t s i n t o c a c h e b y a c o n s t a n t f a c t o r a n d h e n c e d o

n o t i m p a c t c a c h e - c o m p l e x i t y a n a l y s i s . W e w o n ' t w o r r y a b o u t s u c h c o n s t a n t f a c t o r s i n t h i s s e c t i o n .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 125/254

1 1 9

( i m p l i c i t l y i n c l u d i n g a n y c a c h e s i z e s ) , a s d e s c r i b e d i n " A d a p t i v e C o m p o s i t i o n o f F F T A l g o -

r i t h m s " ( S e c t i o n 1 1 . 5 : A d a p t i v e C o m p o s i t i o n o f F F T A l g o r i t h m s ) ; t h e o t h e r i s t o e x p l o i t

c a c h e - o b l i v i o u s a l g o r i t h m s . F F T W e m p l o y s b o t h o f t h e s e t e c h n i q u e s .

T h e g o a l o f c a c h e - o b l i v i o u s n e s s i s t o s t r u c t u r e t h e a l g o r i t h m s o t h a t i t e x p l o i t s t h e c a c h e

w i t h o u t h a v i n g t h e c a c h e s i z e a s a p a r a m e t e r : t h e s a m e c o d e a c h i e v e s t h e s a m e a s y m p t o t i c

c a c h e c o m p l e x i t y r e g a r d l e s s o f t h e c a c h e s i z e Z . A n o p t i m a l c a c h e - o b l i v i o u s a l g o r i t h m

a c h i e v e s t h e o p t i m a l c a c h e c o m p l e x i t y ( t h a t i s , i n a n a s y m p t o t i c s e n s e , i g n o r i n g c o n s t a n t

f a c t o r s ) . R e m a r k a b l y , o p t i m a l c a c h e - o b l i v i o u s a l g o r i t h m s e x i s t f o r m a n y p r o b l e m s , s u c h

a s m a t r i x m u l t i p l i c a t i o n , s o r t i n g , t r a n s p o s i t i o n , a n d F F T s [ 1 3 7 ] . N o t a l l c a c h e - o b l i v i o u s

a l g o r i t h m s a r e o p t i m a l , o f c o u r s e f o r e x a m p l e , t h e t e x t b o o k r a d i x - 2 a l g o r i t h m d i s c u s s e d

a b o v e i s p e s s i m a l c a c h e - o b l i v i o u s ( i t s c a c h e c o m p l e x i t y i s i n d e p e n d e n t o f Z b e c a u s e i t

a l w a y s a c h i e v e s t h e w o r s t c a s e ! ) .

F o r i n s t a n c e , F i g u r e 1 1 . 2 ( r i g h t ) a n d t h e a l g o r i t h m o f p . ? ? s h o w s a w a y t o o b l i v i o u s l y e x p l o i t

t h e c a c h e w i t h a r a d i x - 2 C o o l e y - T u k e y a l g o r i t h m , b y o r d e r i n g t h e c o m p u t a t i o n d e p t h - r s t

r a t h e r t h a n b r e a d t h - r s t . T h a t i s , t h e D F T o f s i z e n i s d i v i d e d i n t o t w o D F T s o f s i z e n/2 , a n d

o n e D F T o f s i z e n/2 i s c o m p l e t e l y n i s h e d b e f o r e d o i n g a n y c o m p u t a t i o n s f o r t h e s e c o n d

D F T o f s i z e n/2. T h e t w o s u b t r a n s f o r m s a r e t h e n c o m b i n e d u s i n g n/2 r a d i x - 2 b u t t e r i e s ,

w h i c h r e q u i r e s a p a s s o v e r t h e a r r a y a n d ( h e n c e n c a c h e m i s s e s i f n > Z ) . T h i s p r o c e s s i s

r e p e a t e d r e c u r s i v e l y u n t i l a b a s e - c a s e ( e . g . s i z e 2 ) i s r e a c h e d . T h e c a c h e c o m p l e x i t y Q2 (n; Z )o f t h i s a l g o r i t h m s a t i s e s t h e r e c u r r e n c e

Q2 (n; Z ) = n n ≤ Z

2Q2 (n/2; Z ) + Θ (n) otherwise

. ( 1 1 . 4 )

T h e k e y p r o p e r t y i s t h i s : o n c e t h e r e c u r s i o n r e a c h e s a s i z e n ≤ Z , t h e s u b t r a n s f o r m t s

i n t o t h e c a c h e a n d n o f u r t h e r m i s s e s a r e i n c u r r e d . T h e a l g o r i t h m d o e s n o t k n o w t h i s a n d

c o n t i n u e s s u b d i v i d i n g t h e p r o b l e m , o f c o u r s e , b u t a l l o f t h o s e f u r t h e r s u b d i v i s i o n s a r e i n -

c a c h e b e c a u s e t h e y a r e p e r f o r m e d i n t h e s a m e d e p t h - r s t b r a n c h o f t h e t r e e . T h e s o l u t i o n

o f ( 1 1 . 4 ) i s

Q2 (n; Z ) = Θ (nlog [n/Z ]) . ( 1 1 . 5 )

T h i s i s w o r s e t h a n t h e t h e o r e t i c a l o p t i m u m Qb (n; Z ) f r o m ( 1 1 . 3 ) , b u t i t i s c a c h e - o b l i v i o u s

( Z n e v e r e n t e r e d t h e a l g o r i t h m ) a n d e x p l o i t s a t l e a s t s o m e t e m p o r a l l o c a l i t y .

8

O n t h e o t h e r

h a n d , w h e n i t i s c o m b i n e d w i t h F F T W ' s s e l f - o p t i m i z a t i o n a n d l a r g e r r a d i c e s i n " A d a p t i v e

C o m p o s i t i o n o f F F T A l g o r i t h m s " ( S e c t i o n 1 1 . 5 : A d a p t i v e C o m p o s i t i o n o f F F T A l g o r i t h m s ) ,

t h i s a l g o r i t h m a c t u a l l y p e r f o r m s v e r y w e l l u n t i l n b e c o m e s e x t r e m e l y l a r g e . B y i t s e l f , h o w -

e v e r , t h e a l g o r i t h m o f p . ? ? m u s t b e m o d i e d t o a t t a i n a d e q u a t e p e r f o r m a n c e f o r r e a s o n s

t h a t h a v e n o t h i n g t o d o w i t h t h e c a c h e . T h e s e p r a c t i c a l i s s u e s a r e d i s c u s s e d f u r t h e r i n

" C a c h e - o b l i v i o u s n e s s i n p r a c t i c e " ( S e c t i o n 1 1 . 4 . 2 : C a c h e - o b l i v i o u s n e s s i n p r a c t i c e ) .

8

T h i s a d v a n t a g e o f d e p t h - r s t r e c u r s i v e i m p l e m e n t a t i o n o f t h e r a d i x - 2 F F T w a s p o i n t e d o u t m a n y y e a r s

a g o b y S i n g l e t o n ( w h e r e t h e c a c h e w a s c o r e m e m o r y ) [ 3 4 1 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 126/254

1 2 0

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

T h e r e e x i s t s a d i e r e n t r e c u r s i v e F F T t h a t i s o p t i m a l c a c h e - o b l i v i o u s , h o w e v e r , a n d t h a t

i s t h e r a d i x -

√ n f o u r - s t e p C o o l e y - T u k e y a l g o r i t h m ( a g a i n e x e c u t e d r e c u r s i v e l y , d e p t h - r s t )

[ 1 3 7 ] . T h e c a c h e c o m p l e x i t y Qo o f t h i s a l g o r i t h m s a t i s e s t h e r e c u r r e n c e :

Qo (n; Z ) = n n ≤ Z

2√

nQo (√

n; Z ) + Θ (n) otherwise. ( 1 1 . 6 )

T h a t i s , a t e a c h s t a g e o n e p e r f o r m s

√ n D F T s o f s i z e

√ n ( r e c u r s i v e l y ) , t h e n m u l t i p l i e s b y t h e

Θ (n) t w i d d l e f a c t o r s ( a n d d o e s a m a t r i x t r a n s p o s i t i o n t o o b t a i n i n - o r d e r o u t p u t ) , t h e n n a l l y

p e r f o r m s a n o t h e r

√ n D F T s o f s i z e

√ n. T h e s o l u t i o n o f ( 1 1 . 6 ) i s Qo (n; Z ) = Θ (nlogZ n) ,

t h e s a m e a s t h e o p t i m a l c a c h e c o m p l e x i t y ( 1 1 . 3 ) !

T h e s e a l g o r i t h m s i l l u s t r a t e t h e b a s i c f e a t u r e s o f m o s t o p t i m a l c a c h e - o b l i v i o u s a l g o r i t h m s :

t h e y e m p l o y a r e c u r s i v e d i v i d e - a n d - c o n q u e r s t r a t e g y t o s u b d i v i d e t h e p r o b l e m u n t i l i t t s

i n t o c a c h e , a t w h i c h p o i n t t h e s u b d i v i s i o n c o n t i n u e s b u t n o f u r t h e r c a c h e m i s s e s a r e r e q u i r e d .

M o r e o v e r , a c a c h e - o b l i v i o u s a l g o r i t h m e x p l o i t s a l l l e v e l s o f t h e c a c h e i n t h e s a m e w a y , s o a n

o p t i m a l c a c h e - o b l i v i o u s a l g o r i t h m e x p l o i t s a m u l t i - l e v e l c a c h e o p t i m a l l y a s w e l l a s a t w o - l e v e l

c a c h e [ 1 3 7 ] : t h e m u l t i - l e v e l b l o c k i n g i s i m p l i c i t i n t h e r e c u r s i o n .

1 1 . 4 . 2 C a c h e - o b l i v i o u s n e s s i n p r a c t i c e

E v e n t h o u g h t h e r a d i x -

√ n a l g o r i t h m i s o p t i m a l c a c h e - o b l i v i o u s , i t d o e s n o t f o l l o w t h a t F F T

i m p l e m e n t a t i o n i s a s o l v e d p r o b l e m . T h e o p t i m a l i t y i s o n l y i n a n a s y m p t o t i c s e n s e , i g n o r i n g

c o n s t a n t f a c t o r s , O (n) t e r m s , e t c e t e r a , a l l o f w h i c h c a n m a t t e r a g r e a t d e a l i n p r a c t i c e . F o r

s m a l l o r m o d e r a t e

n, q u i t e d i e r e n t a l g o r i t h m s m a y b e s u p e r i o r , a s d i s c u s s e d i n " M e m o r y

s t r a t e g i e s i n F F T W " ( S e c t i o n 1 1 . 4 . 3 : M e m o r y s t r a t e g i e s i n F F T W ) . M o r e o v e r , r e a l c a c h e s

a r e i n f e r i o r t o a n i d e a l c a c h e i n s e v e r a l w a y s . T h e u n s u r p r i s i n g c o n s e q u e n c e o f a l l t h i s i s

t h a t c a c h e - o b l i v i o u s n e s s , l i k e a n y c o m p l e x i t y - b a s e d a l g o r i t h m p r o p e r t y , d o e s n o t a b s o l v e

o n e f r o m t h e o r d i n a r y p r o c e s s o f s o f t w a r e o p t i m i z a t i o n . A t b e s t , i t r e d u c e s t h e a m o u n t o f

m e m o r y / c a c h e t u n i n g t h a t o n e n e e d s t o p e r f o r m , s t r u c t u r i n g t h e i m p l e m e n t a t i o n t o m a k e

f u r t h e r o p t i m i z a t i o n e a s i e r a n d m o r e p o r t a b l e .

P e r h a p s m o s t i m p o r t a n t l y , o n e n e e d s t o p e r f o r m a n o p t i m i z a t i o n t h a t h a s a l m o s t n o t h i n g t o

d o w i t h t h e c a c h e s : t h e r e c u r s i o n m u s t b e c o a r s e n e d t o a m o r t i z e t h e f u n c t i o n - c a l l o v e r h e a d

a n d t o e n a b l e c o m p i l e r o p t i m i z a t i o n . F o r e x a m p l e , t h e s i m p l e p e d a g o g i c a l c o d e o f t h e

a l g o r i t h m i n p . ? ? r e c u r s e s a l l t h e w a y d o w n t o

n = 1, a n d h e n c e t h e r e a r e ≈ 2n

f u n c t i o n c a l l s

i n t o t a l , s o t h a t e v e r y d a t a p o i n t i n c u r s a t w o - f u n c t i o n - c a l l o v e r h e a d o n a v e r a g e . M o r e o v e r ,

t h e c o m p i l e r c a n n o t f u l l y e x p l o i t t h e l a r g e r e g i s t e r s e t s a n d i n s t r u c t i o n - l e v e l p a r a l l e l i s m

o f m o d e r n p r o c e s s o r s w i t h a n n = 1 f u n c t i o n b o d y .

9

T h e s e p r o b l e m s c a n b e e e c t i v e l y

e r a s e d , h o w e v e r , s i m p l y b y m a k i n g t h e b a s e c a s e s l a r g e r , e . g . t h e r e c u r s i o n c o u l d s t o p w h e n

9

I n p r i n c i p l e , i t m i g h t b e p o s s i b l e f o r a c o m p i l e r t o a u t o m a t i c a l l y c o a r s e n t h e r e c u r s i o n , s i m i l a r t o h o w

c o m p i l e r s c a n p a r t i a l l y u n r o l l l o o p s . W e a r e c u r r e n t l y u n a w a r e o f a n y g e n e r a l - p u r p o s e c o m p i l e r t h a t p e r f o r m s

t h i s o p t i m i z a t i o n , h o w e v e r .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 127/254

1 2 1

n = 32 i s r e a c h e d , a t w h i c h p o i n t a h i g h l y o p t i m i z e d h a r d - c o d e d F F T o f t h a t s i z e w o u l d

b e e x e c u t e d . I n F F T W , w e p r o d u c e d t h i s s o r t o f l a r g e b a s e - c a s e u s i n g a s p e c i a l i z e d c o d e -

g e n e r a t i o n p r o g r a m d e s c r i b e d i n " G e n e r a t i n g S m a l l F F T K e r n e l s " ( S e c t i o n 1 1 . 6 : G e n e r a t i n g

S m a l l F F T K e r n e l s ) .

O n e m i g h t g e t t h e i m p r e s s i o n t h a t t h e r e i s a s t r i c t d i c h o t o m y t h a t d i v i d e s c a c h e - a w a r e

a n d c a c h e - o b l i v i o u s a l g o r i t h m s , b u t t h e t w o a r e n o t m u t u a l l y e x c l u s i v e i n p r a c t i c e . G i v e n

a n i m p l e m e n t a t i o n o f a c a c h e - o b l i v i o u s s t r a t e g y , o n e c a n f u r t h e r o p t i m i z e i t f o r t h e c a c h e

c h a r a c t e r i s t i c s o f a p a r t i c u l a r m a c h i n e i n o r d e r t o i m p r o v e t h e c o n s t a n t f a c t o r s . F o r e x a m p l e ,

o n e c a n t u n e t h e r a d i c e s u s e d , t h e t r a n s i t i o n p o i n t b e t w e e n t h e r a d i x -

√ n a l g o r i t h m a n d t h e

b o u n d e d - r a d i x a l g o r i t h m , o r o t h e r a l g o r i t h m i c c h o i c e s a s d e s c r i b e d i n " M e m o r y s t r a t e g i e s

i n F F T W " ( S e c t i o n 1 1 . 4 . 3 : M e m o r y s t r a t e g i e s i n F F T W ) . T h e a d v a n t a g e o f s t a r t i n g c a c h e -

a w a r e t u n i n g w i t h a c a c h e - o b l i v i o u s a p p r o a c h i s t h a t t h e s t a r t i n g p o i n t a l r e a d y e x p l o i t s a l l

l e v e l s o f t h e c a c h e t o s o m e e x t e n t , a n d o n e h a s r e a s o n t o h o p e t h a t g o o d p e r f o r m a n c e o n o n e

m a c h i n e w i l l b e m o r e p o r t a b l e t o o t h e r a r c h i t e c t u r e s t h a n f o r a p u r e l y c a c h e - a w a r e b l o c k i n g

a p p r o a c h . I n p r a c t i c e , w e h a v e f o u n d t h i s c o m b i n a t i o n t o b e v e r y s u c c e s s f u l w i t h F F T W .

1 1 . 4 . 3 M e m o r y s t r a t e g i e s i n F F T W

T h e r e c u r s i v e c a c h e - o b l i v i o u s s t r a t e g i e s d e s c r i b e d a b o v e f o r m a u s e f u l s t a r t i n g p o i n t , b u t

F F T W s u p p l e m e n t s t h e m w i t h a n u m b e r o f a d d i t i o n a l t r i c k s , a n d a l s o e x p l o i t s c a c h e -

o b l i v i o u s n e s s i n l e s s - o b v i o u s f o r m s .

W e c u r r e n t l y n d t h a t t h e g e n e r a l r a d i x -

√ n a l g o r i t h m i s b e n e c i a l o n l y w h e n n b e c o m e s

v e r y l a r g e , o n t h e o r d e r o f 220

≈106 . I n p r a c t i c e , t h i s m e a n s t h a t w e u s e a t m o s t a s i n g l e

s t e p o f r a d i x - √ n ( t w o s t e p s w o u l d o n l y b e u s e d f o r n 240 ) . T h e r e a s o n f o r t h i s i s t h a t

t h e i m p l e m e n t a t i o n o f r a d i x

√ n i s l e s s e c i e n t t h a n f o r a b o u n d e d r a d i x : t h e l a t t e r h a s

t h e a d v a n t a g e t h a t a n e n t i r e r a d i x b u t t e r y c a n b e p e r f o r m e d i n h a r d - c o d e d l o o p - f r e e c o d e

w i t h i n l o c a l v a r i a b l e s / r e g i s t e r s , i n c l u d i n g t h e n e c e s s a r y p e r m u t a t i o n s a n d t w i d d l e f a c t o r s .

T h u s , f o r m o r e m o d e r a t e n, F F T W u s e s d e p t h - r s t r e c u r s i o n w i t h a b o u n d e d r a d i x , s i m i l a r

i n s p i r i t t o t h e a l g o r i t h m o f p . ? ? b u t w i t h m u c h l a r g e r r a d i c e s ( r a d i x 3 2 i s c o m m o n ) a n d b a s e

c a s e s ( s i z e 3 2 o r 6 4 i s c o m m o n ) a s p r o d u c e d b y t h e c o d e g e n e r a t o r o f " G e n e r a t i n g S m a l l F F T

K e r n e l s " ( S e c t i o n 1 1 . 6 : G e n e r a t i n g S m a l l F F T K e r n e l s ) . T h e s e l f - o p t i m i z a t i o n d e s c r i b e d i n

" A d a p t i v e C o m p o s i t i o n o f F F T A l g o r i t h m s " ( S e c t i o n 1 1 . 5 : A d a p t i v e C o m p o s i t i o n o f F F T

A l g o r i t h m s ) a l l o w s t h e c h o i c e o f r a d i x a n d t h e t r a n s i t i o n t o t h e r a d i x -

√ n a l g o r i t h m t o b e

t u n e d i n a c a c h e - a w a r e ( b u t e n t i r e l y a u t o m a t i c ) f a s h i o n .

F o r s m a l l n ( i n c l u d i n g t h e r a d i x b u t t e r i e s a n d t h e b a s e c a s e s o f t h e r e c u r s i o n ) , h a r d - c o d e d

F F T s ( F F T W ' s c o d e l e t s ) a r e e m p l o y e d . H o w e v e r , t h i s g i v e s r i s e t o a n i n t e r e s t i n g p r o b l e m :

a c o d e l e t f o r ( e . g . ) n = 64 i s ∼ 2000 l i n e s l o n g , w i t h h u n d r e d s o f v a r i a b l e s a n d o v e r 1 0 0 0

a r i t h m e t i c o p e r a t i o n s t h a t c a n b e e x e c u t e d i n m a n y o r d e r s , s o w h a t o r d e r s h o u l d b e c h o s e n ?

T h e k e y p r o b l e m h e r e i s t h e e c i e n t u s e o f t h e C P U r e g i s t e r s , w h i c h e s s e n t i a l l y f o r m a n e a r l y

i d e a l , f u l l y a s s o c i a t i v e c a c h e . N o r m a l l y , o n e r e l i e s o n t h e c o m p i l e r f o r a l l c o d e s c h e d u l i n g a n d

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 128/254

1 2 2

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

r e g i s t e r a l l o c a t i o n , b u t b u t t h e c o m p i l e r n e e d s h e l p w i t h s u c h l o n g b l o c k s o f c o d e ( i n d e e d , t h e

g e n e r a l r e g i s t e r - a l l o c a t i o n p r o b l e m i s N P - c o m p l e t e ) . I n p a r t i c u l a r , F F T W ' s g e n e r a t o r k n o w s

m o r e a b o u t t h e c o d e t h a n t h e c o m p i l e r t h e g e n e r a t o r k n o w s i t i s a n F F T , a n d t h e r e f o r e

i t c a n u s e a n o p t i m a l c a c h e - o b l i v i o u s s c h e d u l e ( a n a l o g o u s t o t h e r a d i x - √ n a l g o r i t h m ) t o

o r d e r t h e c o d e i n d e p e n d e n t o f t h e n u m b e r o f r e g i s t e r s [ 1 2 8 ] . T h e c o m p i l e r i s t h e n u s e d o n l y

f o r l o c a l c a c h e - a w a r e t u n i n g ( b o t h f o r r e g i s t e r a l l o c a t i o n a n d t h e C P U p i p e l i n e ) .

1 0

A s a

p r a c t i c a l m a t t e r , o n e c o n s e q u e n c e o f t h i s s c h e d u l e r i s t h a t F F T W ' s m a c h i n e - i n d e p e n d e n t

c o d e l e t s a r e n o s l o w e r t h a n m a c h i n e - s p e c i c c o d e l e t s g e n e r a t e d b y a n a u t o m a t e d s e a r c h

a n d o p t i m i z a t i o n o v e r m a n y p o s s i b l e c o d e l e t i m p l e m e n t a t i o n s , a s p e r f o r m e d b y t h e S P I R A L

p r o j e c t [ 4 2 0 ] .

( W h e n i m p l e m e n t i n g h a r d - c o d e d b a s e c a s e s , t h e r e i s a n o t h e r c h o i c e b e c a u s e a l o o p o f s m a l l

t r a n s f o r m s i s a l w a y s r e q u i r e d . I s i t b e t t e r t o i m p l e m e n t a h a r d - c o d e d F F T o f s i z e 6 4 , f o r

e x a m p l e , o r a n u n r o l l e d l o o p o f f o u r s i z e - 1 6 F F T s , b o t h o f w h i c h o p e r a t e o n t h e s a m e a m o u n t

o f d a t a ? T h e f o r m e r s h o u l d b e m o r e e c i e n t b e c a u s e i t p e r f o r m s m o r e c o m p u t a t i o n s w i t h

t h e s a m e a m o u n t o f d a t a , t h a n k s t o t h e logn f a c t o r i n t h e F F T ' s nlogn c o m p l e x i t y . )

I n a d d i t i o n , t h e r e a r e m a n y o t h e r t e c h n i q u e s t h a t F F T W e m p l o y s t o s u p p l e m e n t t h e b a s i c

r e c u r s i v e s t r a t e g y , m a i n l y t o a d d r e s s t h e f a c t t h a t c a c h e i m p l e m e n t a t i o n s s t r o n g l y f a v o r a c -

c e s s i n g c o n s e c u t i v e d a t a t h a n k s t o c a c h e l i n e s , l i m i t e d a s s o c i a t i v i t y , a n d d i r e c t m a p p i n g

u s i n g l o w - o r d e r a d d r e s s b i t s ( a c c e s s i n g d a t a a t p o w e r - o f - t w o i n t e r v a l s i n m e m o r y , w h i c h i s d i s -

t r e s s i n g l y c o m m o n i n F F T s , i s t h u s e s p e c i a l l y p r o n e t o c a c h e - l i n e c o n i c t s ) . U n f o r t u n a t e l y ,

t h e k n o w n F F T a l g o r i t h m s i n h e r e n t l y i n v o l v e s o m e n o n - c o n s e c u t i v e a c c e s s ( w h e t h e r m i x e d

w i t h t h e c o m p u t a t i o n o r i n s e p a r a t e b i t - r e v e r s a l / t r a n s p o s i t i o n s t a g e s ) . T h e r e a r e m a n y o p -

t i m i z a t i o n s i n F F T W t o a d d r e s s t h i s . F o r e x a m p l e , t h e d a t a f o r s e v e r a l b u t t e r i e s a t a t i m e

c a n b e c o p i e d t o a s m a l l b u e r b e f o r e c o m p u t i n g a n d t h e n c o p i e d b a c k , w h e r e t h e c o p i e s

a n d c o m p u t a t i o n s i n v o l v e m o r e c o n s e c u t i v e a c c e s s t h a n d o i n g t h e c o m p u t a t i o n d i r e c t l y i n -

p l a c e . O r , t h e i n p u t d a t a f o r t h e s u b t r a n s f o r m c a n b e c o p i e d f r o m ( d i s c o n t i g u o u s ) i n p u t t o

( c o n t i g u o u s ) o u t p u t b e f o r e p e r f o r m i n g t h e s u b t r a n s f o r m i n - p l a c e ( s e e " I n d i r e c t p l a n s " ( S e c -

t i o n 1 1 . 5 . 2 . 4 : I n d i r e c t p l a n s ) ) , r a t h e r t h a n p e r f o r m i n g t h e s u b t r a n s f o r m d i r e c t l y o u t - o f - p l a c e

( a s i n a l g o r i t h m 1 ( p . ? ? ) ) . O r , t h e o r d e r o f l o o p s c a n b e i n t e r c h a n g e d i n o r d e r t o p u s h t h e

o u t e r m o s t l o o p f r o m t h e r s t r a d i x s t e p [ t h e 2 l o o p i n ( 1 1 . 2 ) ] d o w n t o t h e l e a v e s , i n o r d e r

t o m a k e t h e i n p u t a c c e s s m o r e c o n s e c u t i v e ( s e e " D i s c u s s i o n " ( S e c t i o n 1 1 . 5 . 2 . 6 : D i s c u s s i o n ) ) .

O r , t h e t w i d d l e f a c t o r s c a n b e c o m p u t e d u s i n g a s m a l l e r l o o k - u p t a b l e ( f e w e r m e m o r y l o a d s )

a t t h e c o s t o f m o r e a r i t h m e t i c ( s e e " N u m e r i c a l A c c u r a c y i n F F T s " ( S e c t i o n 1 1 . 7 : N u m e r i c a l

A c c u r a c y i n F F T s ) ) . T h e c h o i c e o f w h e t h e r t o u s e a n y o f t h e s e t e c h n i q u e s , w h i c h c o m e

i n t o p l a y m a i n l y f o r m o d e r a t e n ( 213 < n < 220 ) , i s m a d e b y t h e s e l f - o p t i m i z i n g p l a n n e r a s

d e s c r i b e d i n t h e n e x t s e c t i o n .

1 0

O n e p r a c t i c a l d i c u l t y i s t h a t s o m e o p t i m i z i n g c o m p i l e r s w i l l t e n d t o g r e a t l y r e - o r d e r t h e c o d e , d e -

s t r o y i n g F F T W ' s o p t i m a l s c h e d u l e . W i t h G N U g c c , w e c i r c u m v e n t t h i s p r o b l e m b y u s i n g c o m p i l e r a g s t h a t

e x p l i c i t l y d i s a b l e c e r t a i n s t a g e s o f t h e o p t i m i z e r .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 129/254

1 2 3

1 1 . 5 A d a p t i v e C o m p o s i t i o n o f F F T A l g o r i t h m s

A s a l l u d e d t o s e v e r a l t i m e s a l r e a d y , F F T W i m p l e m e n t s a w i d e v a r i e t y o f F F T a l g o r i t h m s

( m o s t l y r e a r r a n g e m e n t s o f C o o l e y - T u k e y ) a n d s e l e c t s t h e b e s t a l g o r i t h m f o r a g i v e n na u t o m a t i c a l l y . I n t h i s s e c t i o n , w e d e s c r i b e h o w s u c h s e l f - o p t i m i z a t i o n i s i m p l e m e n t e d , a n d

e s p e c i a l l y h o w F F T W ' s a l g o r i t h m s a r e s t r u c t u r e d a s a c o m p o s i t i o n o f a l g o r i t h m i c f r a g m e n t s .

T h e s e t e c h n i q u e s i n F F T W a r e d e s c r i b e d i n g r e a t e r d e t a i l e l s e w h e r e [ 1 3 4 ] , s o h e r e w e w i l l

f o c u s o n l y o n t h e e s s e n t i a l i d e a s a n d t h e m o t i v a t i o n s b e h i n d t h e m .

A n F F T a l g o r i t h m i n F F T W i s a c o m p o s i t i o n o f a l g o r i t h m i c s t e p s c a l l e d a p l a n . T h e

a l g o r i t h m i c s t e p s e a c h s o l v e a c e r t a i n c l a s s o f p r o b l e m s ( e i t h e r s o l v i n g t h e p r o b l e m d i r e c t l y

o r r e c u r s i v e l y b r e a k i n g i t i n t o s u b - p r o b l e m s o f t h e s a m e t y p e ) . T h e c h o i c e o f p l a n f o r a g i v e n

p r o b l e m i s d e t e r m i n e d b y a p l a n n e r t h a t s e l e c t s a c o m p o s i t i o n o f s t e p s , e i t h e r b y r u n t i m e

m e a s u r e m e n t s t o p i c k t h e f a s t e s t a l g o r i t h m , o r b y h e u r i s t i c s , o r b y l o a d i n g a p r e - c o m p u t e d

p l a n . T h e s e t h r e e p i e c e s : p r o b l e m s , a l g o r i t h m i c s t e p s , a n d t h e p l a n n e r , a r e d i s c u s s e d i n t h e

f o l l o w i n g s u b s e c t i o n s .

1 1 . 5 . 1 T h e p r o b l e m t o b e s o l v e d

I n e a r l y v e r s i o n s o f F F T W , t h e o n l y c h o i c e m a d e b y t h e p l a n n e r w a s t h e s e q u e n c e o f r a d i c e s

[ 1 3 1 ] , a n d s o e a c h s t e p o f t h e p l a n t o o k a D F T o f a g i v e n s i z e n, p o s s i b l y w i t h d i s c o n t i g u o u s

i n p u t / o u t p u t , a n d r e d u c e d i t ( v i a a r a d i x r ) t o D F T s o f s i z e n/r , w h i c h w e r e s o l v e d r e c u r -

s i v e l y . T h a t i s , e a c h s t e p s o l v e d t h e f o l l o w i n g p r o b l e m : g i v e n a s i z e n, a n i n p u t p o i n t e r I,

a n i n p u t s t r i d e ι , a n o u t p u t p o i n t e r O, a n d a n o u t p u t s t r i d e o, i t c o m p u t e d t h e D F T

o f I [ι] f o r 0≤

< n a n d s t o r e d t h e r e s u l t i n O [ko] f o r 0≤

k < n. H o w e v e r , w e s o o n f o u n d

t h a t w e c o u l d n o t e a s i l y e x p r e s s m a n y i n t e r e s t i n g a l g o r i t h m s w i t h i n t h i s f r a m e w o r k ; f o r e x -

a m p l e , i n - p l a c e ( I = O) F F T s t h a t d o n o t r e q u i r e a s e p a r a t e b i t - r e v e r s a l s t a g e [ 1 9 5 ] , [ 3 7 5 ] ,

[ 2 9 7 ] , [ 1 6 6 ] . I t b e c a m e c l e a r t h a t t h e k e y i s s u e w a s n o t t h e c h o i c e o f a l g o r i t h m s , a s w e h a d

r s t s u p p o s e d , b u t t h e d e n i t i o n o f t h e p r o b l e m t o b e s o l v e d . B e c a u s e o n l y p r o b l e m s t h a t

c a n b e e x p r e s s e d c a n b e s o l v e d , t h e r e p r e s e n t a t i o n o f a p r o b l e m d e t e r m i n e s a n o u t e r b o u n d

t o t h e s p a c e o f p l a n s t h a t t h e p l a n n e r c a n e x p l o r e , a n d t h e r e f o r e i t u l t i m a t e l y c o n s t r a i n s

F F T W ' s p e r f o r m a n c e .

T h e d i c u l t y w i t h o u r i n i t i a l (n, I, ι,O, o) p r o b l e m d e n i t i o n w a s t h a t i t f o r c e d e a c h a l g o -

r i t h m i c s t e p t o a d d r e s s o n l y a s i n g l e D F T . I n f a c t , F F T s b r e a k d o w n D F T s i n t o m u l t i p l e

s m a l l e r D F T s , a n d i t i s t h e c o m b i n a t i o n o f t h e s e s m a l l e r t r a n s f o r m s t h a t i s b e s t a d d r e s s e d

b y m a n y a l g o r i t h m i c c h o i c e s , e s p e c i a l l y t o r e a r r a n g e t h e o r d e r o f m e m o r y a c c e s s e s b e t w e e n

t h e s u b t r a n s f o r m s . T h e r e f o r e , w e r e d e n e d o u r n o t i o n o f a p r o b l e m i n F F T W t o b e n o t a

s i n g l e D F T , b u t r a t h e r a l o o p o f D F T s , a n d i n f a c t m u l t i p l e n e s t e d l o o p s o f D F T s . T h e

f o l l o w i n g s e c t i o n s d e s c r i b e s o m e o f t h e n e w a l g o r i t h m i c s t e p s t h a t s u c h a p r o b l e m d e n i t i o n

e n a b l e s , b u t r s t w e w i l l d e n e t h e p r o b l e m m o r e p r e c i s e l y .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 130/254

1 2 4

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

D F T p r o b l e m s i n F F T W a r e e x p r e s s e d i n t e r m s o f s t r u c t u r e s c a l l e d I / O t e n s o r s ,

1 1

w h i c h

i n t u r n a r e d e s c r i b e d i n t e r m s o f a n c i l l a r y s t r u c t u r e s c a l l e d I / O d i m e n s i o n s . A n I / O d i -

m e n s i o n d i s a t r i p l e d = (n,ι,o) , w h e r e n i s a n o n - n e g a t i v e i n t e g e r c a l l e d t h e l e n g t h , ι i s

a n i n t e g e r c a l l e d t h e i n p u t s t r i d e , a n d o i s a n i n t e g e r c a l l e d t h e o u t p u t s t r i d e . A n I / O

t e n s o r t = d1, d2,...,dρ i s a s e t o f I / O d i m e n s i o n s . T h e n o n - n e g a t i v e i n t e g e r ρ = |t| i s

c a l l e d t h e r a n k o f t h e I / O t e n s o r . A D F T p r o b l e m , d e n o t e d b y df t (N,V, I,O) , c o n s i s t s

o f t w o I / O t e n s o r s N a n d V , a n d o f t w o p o i n t e r s I a n d O. I n f o r m a l l y , t h i s d e s c r i b e s |V|n e s t e d l o o p s o f |N| - d i m e n s i o n a l D F T s w i t h i n p u t d a t a s t a r t i n g a t m e m o r y l o c a t i o n I a n d

o u t p u t d a t a s t a r t i n g a t O.

F o r s i m p l i c i t y , l e t u s c o n s i d e r o n l y o n e - d i m e n s i o n a l D F T s , s o t h a t N = (n,ι,o) i m p l i e s a

DF T o f l e n g t h n o n i n p u t d a t a w i t h s t r i d e ι a n d o u t p u t d a t a w i t h s t r i d e o , m u c h l i k e i n t h e

o r i g i n a l F F T W a s d e s c r i b e d a b o v e . T h e m a i n n e w f e a t u r e i s t h e n t h e a d d i t i o n o f z e r o o r

m o r e l o o p s V . M o r e f o r m a l l y , df t (N,

(n,ι,o)

∪V, I,O) i s r e c u r s i v e l y d e n e d a s a l o o p

o f n p r o b l e m s : f o r a l l 0 ≤ k < n, d o a l l c o m p u t a t i o n s i n df t (N,V, I+ k · ι,O+ k · o) . T h e

c a s e o f m u l t i - d i m e n s i o n a l D F T s i s d e n e d m o r e p r e c i s e l y e l s e w h e r e [ 1 3 4 ] , b u t e s s e n t i a l l y e a c h

I / O d i m e n s i o n i n N g i v e s o n e d i m e n s i o n o f t h e t r a n s f o r m .

W e c a l l N t h e s i z e o f t h e p r o b l e m . T h e r a n k o f a p r o b l e m i s d e n e d t o b e t h e r a n k o f

i t s s i z e ( i . e . , t h e d i m e n s i o n a l i t y o f t h e D F T ) . S i m i l a r l y , w e c a l l V t h e v e c t o r s i z e o f t h e

p r o b l e m , a n d t h e v e c t o r r a n k o f a p r o b l e m i s c o r r e s p o n d i n g l y d e n e d t o b e t h e r a n k o f

i t s v e c t o r s i z e . I n t u i t i v e l y , t h e v e c t o r s i z e c a n b e i n t e r p r e t e d a s a s e t o f l o o p s w r a p p e d

a r o u n d a s i n g l e D F T , a n d w e t h e r e f o r e r e f e r t o a s i n g l e I / O d i m e n s i o n o f V a s a v e c t o r

l o o p . ( A l t e r n a t i v e l y , o n e c a n v i e w t h e p r o b l e m a s d e s c r i b i n g a D F T o v e r a |V|- d i m e n s i o n a l

v e c t o r s p a c e . ) T h e p r o b l e m d o e s n o t s p e c i f y t h e o r d e r o f e x e c u t i o n o f t h e s e l o o p s , h o w e v e r ,

a n d t h e r e f o r e F F T W i s f r e e t o c h o o s e t h e f a s t e s t o r m o s t c o n v e n i e n t o r d e r .

1 1 . 5 . 1 . 1 D F T p r o b l e m e x a m p l e s

A m o r e d e t a i l e d d i s c u s s i o n o f t h e s p a c e o f p r o b l e m s i n F F T W c a n b e f o u n d i n [ 1 3 4 ] , b u t

a s i m p l e u n d e r s t a n d i n g c a n b e g a i n e d b y e x a m i n i n g a f e w e x a m p l e s d e m o n s t r a t i n g t h a t

t h e I / O t e n s o r r e p r e s e n t a t i o n i s s u c i e n t l y g e n e r a l t o c o v e r m a n y s i t u a t i o n s t h a t a r i s e i n

p r a c t i c e , i n c l u d i n g s o m e t h a t a r e n o t u s u a l l y c o n s i d e r e d t o b e i n s t a n c e s o f t h e D F T .

A s i n g l e o n e - d i m e n s i o n a l D F T o f l e n g t h n, w i t h s t r i d e - 1 i n p u t X a n d o u t p u t Y , a s i n ( 1 1 . 1 ) ,

i s d e n o t e d b y t h e p r o b l e m df t (

(n, 1, 1)

,

,X,Y) ( n o l o o p s : v e c t o r - r a n k z e r o ) .

A s a m o r e c o m p l i c a t e d e x a m p l e , s u p p o s e w e h a v e a n n1 × n2 m a t r i x X s t o r e d a s

n1 c o n s e c u t i v e b l o c k s o f c o n t i g u o u s l e n g t h - n2 r o w s ( t h i s i s c a l l e d r o w - m a j o r f o r m a t ) .

T h e i n - p l a c e D F T o f a l l t h e r o w s o f t h i s m a t r i x w o u l d b e d e n o t e d b y t h e p r o b -

l e m df t ((n2, 1, 1), (n1, n2, n2),X,X): a l e n g t h - n1 l o o p o f s i z e - n2 c o n t i g u o u s D F T s ,

1 1

I / O t e n s o r s a r e u n r e l a t e d t o t h e t e n s o r - p r o d u c t n o t a t i o n u s e d b y s o m e o t h e r a u t h o r s t o d e s c r i b e F F T

a l g o r i t h m s [ 3 8 9 ] , [ 2 9 6 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 131/254

1 2 5

w h e r e e a c h i t e r a t i o n o f t h e l o o p o s e t s i t s i n p u t / o u t p u t d a t a b y a s t r i d e n2 . C o n -

v e r s e l y , t h e i n - p l a c e D F T o f a l l t h e c o l u m n s o f t h i s m a t r i x w o u l d b e d e n o t e d b y

dft (

(n1, n2, n2)

,

(n2, 1, 1)

,X,X) : c o m p a r e d t o t h e p r e v i o u s e x a m p l e , N a n d V a r e

s w a p p e d . I n t h e l a t t e r c a s e , e a c h D F T o p e r a t e s o n d i s c o n t i g u o u s d a t a , a n d F F T W m i g h t

w e l l c h o o s e t o i n t e r c h a n g e t h e l o o p s : i n s t e a d o f p e r f o r m i n g a l o o p o f D F T s c o m p u t e d i n d i -

v i d u a l l y , t h e s u b t r a n s f o r m s t h e m s e l v e s c o u l d a c t o n n2 - c o m p o n e n t v e c t o r s , a s d e s c r i b e d i n

" T h e s p a c e o f p l a n s i n F F T W " ( S e c t i o n 1 1 . 5 . 2 : T h e s p a c e o f p l a n s i n F F T W ) .

A s i z e - 1 D F T i s s i m p l y a c o p y Y [0] = X [0], a n d h e r e t h i s c a n a l s o b e d e n o t e d b y

N = ( r a n k z e r o , a z e r o - d i m e n s i o n a l D F T ) . T h i s a l l o w s F F T W ' s p r o b l e m s t o r e p r e -

s e n t m a n y k i n d s o f c o p i e s a n d p e r m u t a t i o n s o f t h e d a t a w i t h i n t h e s a m e p r o b l e m f r a m e -

w o r k , w h i c h i s c o n v e n i e n t b e c a u s e t h e s e s o r t s o f o p e r a t i o n s a r i s e f r e q u e n t l y i n F F T a l -

g o r i t h m s . F o r e x a m p l e , t o c o p y n c o n s e c u t i v e n u m b e r s f r o m I t o O, o n e w o u l d u s e t h e

r a n k - z e r o p r o b l e m df t (

,

(n, 1, 1)

, I,O) . M o r e i n t e r e s t i n g l y , t h e i n - p l a c e t r a n s p o s e

o f a n n1 × n2 m a t r i x X s t o r e d i n r o w - m a j o r f o r m a t , a s d e s c r i b e d a b o v e , i s d e n o t e d b y

dft (, (n1, n2, 1) , (n2, 1, n1),X,X) ( r a n k z e r o , v e c t o r - r a n k t w o ) .

1 1 . 5 . 2 T h e s p a c e o f p l a n s i n F F T W

H e r e , w e d e s c r i b e a s u b s e t o f t h e p o s s i b l e p l a n s c o n s i d e r e d b y F F T W ; w h i l e n o t e x h a u s t i v e

[ 1 3 4 ] , t h i s s u b s e t i s e n o u g h t o i l l u s t r a t e t h e b a s i c s t r u c t u r e o f F F T W a n d t h e n e c e s s i t y o f

i n c l u d i n g t h e v e c t o r l o o p ( s ) i n t h e p r o b l e m d e n i t i o n t o e n a b l e s e v e r a l i n t e r e s t i n g a l g o r i t h m s .

T h e p l a n s t h a t w e n o w d e s c r i b e u s u a l l y p e r f o r m s o m e s i m p l e a t o m i c o p e r a t i o n , a n d i t m a y

n o t b e a p p a r e n t h o w t h e s e o p e r a t i o n s t t o g e t h e r t o a c t u a l l y c o m p u t e D F T s , o r w h y c e r t a i n

o p e r a t i o n s a r e u s e f u l a t a l l . W e s h a l l d i s c u s s t h o s e m a t t e r s i n " D i s c u s s i o n " ( S e c t i o n 1 1 . 5 . 2 . 6 :

D i s c u s s i o n ) .

R o u g h l y s p e a k i n g , t o s o l v e a g e n e r a l D F T p r o b l e m , o n e m u s t p e r f o r m t h r e e t a s k s . F i r s t , o n e

m u s t r e d u c e a p r o b l e m o f a r b i t r a r y v e c t o r r a n k t o a s e t o f l o o p s n e s t e d a r o u n d a p r o b l e m

o f v e c t o r r a n k 0 , i . e . , a s i n g l e ( p o s s i b l y m u l t i - d i m e n s i o n a l ) D F T . S e c o n d , o n e m u s t r e d u c e

t h e m u l t i - d i m e n s i o n a l D F T t o a s e q u e n c e o f o f r a n k - 1 p r o b l e m s , i . e . , o n e - d i m e n s i o n a l D F T s ;

f o r s i m p l i c i t y , h o w e v e r , w e d o n o t c o n s i d e r m u l t i - d i m e n s i o n a l D F T s b e l o w . T h i r d , o n e m u s t

s o l v e t h e r a n k - 1 , v e c t o r r a n k - 0 p r o b l e m b y m e a n s o f s o m e D F T a l g o r i t h m s u c h a s C o o l e y -

T u k e y . T h e s e t h r e e s t e p s n e e d n o t b e e x e c u t e d i n t h e s t a t e d o r d e r , h o w e v e r , a n d i n f a c t ,

a l m o s t e v e r y p e r m u t a t i o n a n d i n t e r l e a v i n g o f t h e s e t h r e e s t e p s l e a d s t o a c o r r e c t D F T p l a n .

T h e c h o i c e o f t h e s e t o f p l a n s e x p l o r e d b y t h e p l a n n e r i s c r i t i c a l f o r t h e u s a b i l i t y o f t h e

F F T W s y s t e m : t h e s e t m u s t b e l a r g e e n o u g h t o c o n t a i n t h e f a s t e s t p o s s i b l e p l a n s , b u t i t

m u s t b e s m a l l e n o u g h t o k e e p t h e p l a n n i n g t i m e a c c e p t a b l e .

1 1 . 5 . 2 . 1 R a n k - 0 p l a n s

T h e r a n k - 0 p r o b l e m df t (,V, I,O) d e n o t e s a p e r m u t a t i o n o f t h e i n p u t a r r a y i n t o t h e o u t p u t

a r r a y . F F T W d o e s n o t s o l v e a r b i t r a r y r a n k - 0 p r o b l e m s , o n l y t h e f o l l o w i n g t w o s p e c i a l c a s e s

t h a t a r i s e i n p r a c t i c e .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 132/254

1 2 6

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

• W h e n |V| = 1 a n d I = O, F F T W p r o d u c e s a p l a n t h a t c o p i e s t h e i n p u t a r r a y i n t o t h e

o u t p u t a r r a y . D e p e n d i n g o n t h e s t r i d e s , t h e p l a n c o n s i s t s o f a l o o p o r , p o s s i b l y , o f a

c a l l t o t h e A N S I C f u n c t i o n m e m c p y , w h i c h i s s p e c i a l i z e d t o c o p y c o n t i g u o u s r e g i o n s o f

m e m o r y .

• W h e n |V| = 2, I = O, a n d t h e s t r i d e s d e n o t e a m a t r i x - t r a n s p o s i t i o n p r o b l e m , F F T W

c r e a t e s a p l a n t h a t t r a n s p o s e s t h e a r r a y i n - p l a c e . F F T W i m p l e m e n t s t h e s q u a r e t r a n s -

p o s i t i o n df t (, (n,ι,o) , (n,o,ι), I,O) b y m e a n s o f t h e c a c h e - o b l i v i o u s a l g o r i t h m

f r o m [ 1 3 7 ] , w h i c h i s f a s t a n d , i n t h e o r y , u s e s t h e c a c h e o p t i m a l l y r e g a r d l e s s o f t h e

c a c h e s i z e ( u s i n g p r i n c i p l e s s i m i l a r t o t h o s e d e s c r i b e d i n t h e s e c t i o n " F F T s a n d t h e

M e m o r y H i e r a r c h y " ( S e c t i o n 1 1 . 4 : F F T s a n d t h e M e m o r y H i e r a r c h y ) ) . A g e n e r a l i z a -

t i o n o f t h i s i d e a i s e m p l o y e d f o r n o n - s q u a r e t r a n s p o s i t i o n s w i t h a l a r g e c o m m o n f a c t o r

o r a s m a l l d i e r e n c e b e t w e e n t h e d i m e n s i o n s , a d a p t i n g a l g o r i t h m s f r o m [ 1 0 0 ] .

1 1 . 5 . 2 . 2 R a n k - 1 p l a n s

R a n k - 1 D F T p r o b l e m s d e n o t e o r d i n a r y o n e - d i m e n s i o n a l F o u r i e r t r a n s f o r m s . F F T W d e a l s

w i t h m o s t r a n k - 1 p r o b l e m s a s f o l l o w s .

1 1 . 5 . 2 . 2 . 1 D i r e c t p l a n s

W h e n t h e D F T r a n k - 1 p r o b l e m i s s m a l l e n o u g h ( u s u a l l y , n ≤ 64) , F F T W p r o d u c e s a d i r e c t

p l a n t h a t s o l v e s t h e p r o b l e m d i r e c t l y . T h e s e p l a n s o p e r a t e b y c a l l i n g a f r a g m e n t o f C c o d e ( a

c o d e l e t ) s p e c i a l i z e d t o s o l v e p r o b l e m s o f o n e p a r t i c u l a r s i z e , w h o s e g e n e r a t i o n i s d e s c r i b e d

i n " G e n e r a t i n g S m a l l F F T K e r n e l s " ( S e c t i o n 1 1 . 6 : G e n e r a t i n g S m a l l F F T K e r n e l s ) . M o r e

p r e c i s e l y , t h e c o d e l e t s c o m p u t e a l o o p ( |V| ≤ 1) o f s m a l l D F T s .

1 1 . 5 . 2 . 2 . 2 C o o l e y - T u k e y p l a n s

F o r p r o b l e m s o f t h e f o r m df t ((n,ι,o),V, I,O) w h e r e n = rm , F F T W g e n e r a t e s a p l a n

t h a t i m p l e m e n t s a r a d i x - r C o o l e y - T u k e y a l g o r i t h m " R e v i e w o f t h e C o o l e y - T u k e y F F T " ( S e c -

t i o n 1 1 . 2 : R e v i e w o f t h e C o o l e y - T u k e y F F T ) . B o t h d e c i m a t i o n - i n - t i m e a n d d e c i m a t i o n - i n -

f r e q u e n c y p l a n s a r e s u p p o r t e d , w i t h b o t h s m a l l x e d r a d i c e s ( u s u a l l y , r ≤ 64) p r o d u c e d

b y t h e c o d e l e t g e n e r a t o r " G e n e r a t i n g S m a l l F F T K e r n e l s " ( S e c t i o n 1 1 . 6 : G e n e r a t i n g S m a l l

F F T K e r n e l s ) a n d a l s o a r b i t r a r y r a d i c e s ( e . g . r a d i x -

√ n) .

T h e m o s t c o m m o n c a s e i s a d e c i m a t i o n i n t i m e ( D I T ) p l a n , c o r r e s p o n d i n g t o a r a d i x r =n2 ( a n d t h u s m = n1 ) i n t h e n o t a t i o n o f " R e v i e w o f t h e C o o l e y - T u k e y F F T " ( S e c t i o n 1 1 . 2 :

R e v i e w o f t h e C o o l e y - T u k e y F F T ) : i t r s t s o l v e s df t ((m, r · ι, o),V ∪ (r,ι,m · o), I,O) ,

t h e n m u l t i p l i e s t h e o u t p u t a r r a y O b y t h e t w i d d l e f a c t o r s , a n d n a l l y s o l v e s

dft ((r, m · o, m · o),V ∪ (m,o,o),O,O). F o r p e r f o r m a n c e , t h e l a s t t w o s t e p s a r e n o t

p l a n n e d i n d e p e n d e n t l y , b u t a r e f u s e d t o g e t h e r i n a s i n g l e t w i d d l e c o d e l e t a f r a g m e n t o f C

c o d e t h a t m u l t i p l i e s i t s i n p u t b y t h e t w i d d l e f a c t o r s a n d p e r f o r m s a D F T o f s i z e r , o p e r a t i n g

i n - p l a c e o n O.

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 133/254

1 2 7

1 1 . 5 . 2 . 3 P l a n s f o r h i g h e r v e c t o r r a n k s

T h e s e p l a n s e x t r a c t a v e c t o r l o o p t o r e d u c e a D F T p r o b l e m t o a p r o b l e m o f l o w e r v e c t o r

r a n k , w h i c h i s t h e n s o l v e d r e c u r s i v e l y . A n y o f t h e v e c t o r l o o p s o f V c o u l d b e e x t r a c t e d i n

t h i s w a y , l e a d i n g t o a n u m b e r o f p o s s i b l e p l a n s c o r r e s p o n d i n g t o d i e r e n t l o o p o r d e r i n g s .

F o r m a l l y , t o s o l v e df t (N,V, I,O) , w h e r e V = (n,ι,o)∪V1 , F F T W g e n e r a t e s a l o o p t h a t ,

f o r a l l k s u c h t h a t 0 ≤ k < n, i n v o k e s a p l a n f o r df t (N,V1, I+ k · ι,O+ k · o) .

1 1 . 5 . 2 . 4 I n d i r e c t p l a n s

I n d i r e c t p l a n s t r a n s f o r m a D F T p r o b l e m t h a t r e q u i r e s s o m e d a t a s h u i n g ( o r d i s c o n t i g u o u s

o p e r a t i o n ) i n t o a p r o b l e m t h a t r e q u i r e s n o s h u i n g p l u s a r a n k - 0 p r o b l e m t h a t p e r f o r m s t h e

s h u i n g .

F o r m a l l y , t o s o l v e df t (N,V, I,O) w h e r e |N| > 0, F F T W g e n e r a t e s a p l a n t h a t r s t s o l v e s

dft (,N ∪V, I,O), a n d t h e n s o l v e s df t (copy − o (N) , copy − o (V) ,O,O). H e r e w e d e n e

copy − o (t) t o b e t h e I / O t e n s o r (n,o,o) | (n,ι,o) ∈ t: t h a t i s , i t r e p l a c e s t h e i n p u t

s t r i d e s w i t h t h e o u t p u t s t r i d e s . T h u s , a n i n d i r e c t p l a n r s t r e a r r a n g e s / c o p i e s t h e d a t a t o

t h e o u t p u t , t h e n s o l v e s t h e p r o b l e m i n p l a c e .

1 1 . 5 . 2 . 5 P l a n s f o r p r i m e s i z e s

A s d i s c u s s e d i n " G o a l s a n d B a c k g r o u n d o f t h e F F T W P r o j e c t " ( S e c t i o n 1 1 . 3 : G o a l s a n d

B a c k g r o u n d o f t h e F F T W P r o j e c t ) , i t t u r n s o u t t o b e s u r p r i s i n g l y u s e f u l t o b e a b l e t o

h a n d l e l a r g e p r i m e n ( o r l a r g e p r i m e f a c t o r s ) . R a d e r p l a n s i m p l e m e n t t h e a l g o r i t h m f r o m

[ 3 0 9 ] t o c o m p u t e o n e - d i m e n s i o n a l D F T s o f p r i m e s i z e i n Θ (nlogn) t i m e . B l u e s t e i n p l a n s

i m p l e m e n t B l u e s t e i n ' s c h i r p - z a l g o r i t h m , w h i c h c a n a l s o h a n d l e p r i m e n i n Θ (nlogn) t i m e

[ 3 5 ] , [ 3 0 5 ] , [ 2 7 8 ] . G e n e r i c p l a n s i m p l e m e n t a n a i v e Θ (n2) a l g o r i t h m ( u s e f u l f o r n 100) .

1 1 . 5 . 2 . 6 D i s c u s s i o n

A l t h o u g h i t m a y n o t b e i m m e d i a t e l y a p p a r e n t , t h e c o m b i n a t i o n o f t h e r e c u r s i v e r u l e s i n

" T h e s p a c e o f p l a n s i n F F T W " ( S e c t i o n 1 1 . 5 . 2 : T h e s p a c e o f p l a n s i n F F T W ) c a n p r o d u c e

a n u m b e r o f u s e f u l a l g o r i t h m s . T o i l l u s t r a t e t h e s e c o m p o s i t i o n s , w e d i s c u s s t h r e e p a r t i c u l a r

i s s u e s : d e p t h - v s . b r e a d t h - r s t , l o o p r e o r d e r i n g , a n d i n - p l a c e t r a n s f o r m s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 134/254

1 2 8

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

F i g u r e 1 1 . 3 : T w o p o s s i b l e d e c o m p o s i t i o n s f o r a s i z e - 3 0 D F T , b o t h f o r t h e a r b i t r a r y

c h o i c e o f D I T r a d i c e s 3 t h e n 2 t h e n 5 , a n d p r i m e - s i z e c o d e l e t s . I t e m s g r o u p e d b y a " "

r e s u l t f r o m t h e p l a n f o r a s i n g l e s u b - p r o b l e m . I n t h e d e p t h - r s t c a s e , t h e v e c t o r r a n k w a s

r e d u c e d t o z e r o a s p e r " P l a n s f o r h i g h e r v e c t o r r a n k s " ( S e c t i o n 1 1 . 5 . 2 . 3 : P l a n s f o r h i g h e r

v e c t o r r a n k s ) b e f o r e d e c o m p o s i n g s u b - p r o b l e m s , a n d v i c e - v e r s a i n t h e b r e a d t h - r s t c a s e .

A s d i s c u s s e d p r e v i o u s l y i n s e c t i o n s " R e v i e w o f t h e C o o l e y - T u k e y F F T " ( S e c t i o n 1 1 . 2 : R e v i e w

o f t h e C o o l e y - T u k e y F F T ) a n d " U n d e r s t a n d i n g F F T s w i t h a n i d e a l c a c h e " ( S e c t i o n 1 1 . 4 . 1 :

U n d e r s t a n d i n g F F T s w i t h a n i d e a l c a c h e ) , t h e s a m e C o o l e y - T u k e y d e c o m p o s i t i o n c a n b e

e x e c u t e d i n e i t h e r t r a d i t i o n a l b r e a d t h - r s t o r d e r o r i n r e c u r s i v e d e p t h - r s t o r d e r , w h e r e t h e

l a t t e r h a s s o m e t h e o r e t i c a l c a c h e a d v a n t a g e s . F F T W i s e x p l i c i t l y r e c u r s i v e , a n d t h u s i t

c a n n a t u r a l l y e m p l o y a d e p t h - r s t o r d e r . B e c a u s e i t s s u b - p r o b l e m s c o n t a i n a v e c t o r l o o p

t h a t c a n b e e x e c u t e d i n a v a r i e t y o f o r d e r s , h o w e v e r , F F T W c a n a l s o e m p l o y b r e a d t h - r s t

t r a v e r s a l . I n p a r t i c u l a r , a 1 d a l g o r i t h m r e s e m b l i n g t h e t r a d i t i o n a l b r e a d t h - r s t C o o l e y - T u k e y

w o u l d r e s u l t f r o m a p p l y i n g " C o o l e y - T u k e y p l a n s " ( S e c t i o n 1 1 . 5 . 2 . 2 . 2 : C o o l e y - T u k e y p l a n s )

t o c o m p l e t e l y f a c t o r i z e t h e p r o b l e m s i z e b e f o r e a p p l y i n g t h e l o o p r u l e " P l a n s f o r h i g h e r

v e c t o r r a n k s " ( S e c t i o n 1 1 . 5 . 2 . 3 : P l a n s f o r h i g h e r v e c t o r r a n k s ) t o r e d u c e t h e v e c t o r r a n k s ,

w h e r e a s d e p t h - r s t t r a v e r s a l w o u l d r e s u l t f r o m a p p l y i n g t h e l o o p r u l e b e f o r e f a c t o r i z i n g e a c h

s u b t r a n s f o r m . T h e s e t w o p o s s i b i l i t i e s a r e i l l u s t r a t e d b y a n e x a m p l e i n F i g u r e 1 1 . 3 .

A n o t h e r e x a m p l e o f t h e e e c t o f l o o p r e o r d e r i n g i s a s t y l e o f p l a n t h a t w e s o m e t i m e s c a l l

v e c t o r r e c u r s i o n ( u n r e l a t e d t o v e c t o r - r a d i x F F T s [ 1 1 4 ] ) . T h e b a s i c i d e a i s t h a t , i f o n e h a s

a l o o p ( v e c t o r - r a n k 1 ) o f t r a n s f o r m s , w h e r e t h e v e c t o r s t r i d e i s s m a l l e r t h a n t h e t r a n s f o r m

s i z e , i t i s a d v a n t a g e o u s t o p u s h t h e l o o p t o w a r d s t h e l e a v e s o f t h e t r a n s f o r m d e c o m p o s i t i o n ,

w h i l e o t h e r w i s e m a i n t a i n i n g r e c u r s i v e d e p t h - r s t o r d e r i n g , r a t h e r t h a n l o o p i n g o u t s i d e

t h e t r a n s f o r m ; i . e . , a p p l y t h e u s u a l F F T t o v e c t o r s r a t h e r t h a n n u m b e r s . L i m i t e d f o r m s

o f t h i s i d e a h a v e a p p e a r e d f o r c o m p u t i n g m u l t i p l e F F T s o n v e c t o r p r o c e s s o r s ( w h e r e t h e

l o o p i n q u e s t i o n m a p s d i r e c t l y t o a h a r d w a r e v e c t o r ) [ 3 7 2 ] . F o r e x a m p l e , C o o l e y - T u k e y

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 135/254

1 2 9

p r o d u c e s a u n i t i n p u t - s t r i d e v e c t o r l o o p a t t h e t o p - l e v e l D I T d e c o m p o s i t i o n , b u t w i t h a

l a r g e o u t p u t s t r i d e ; t h i s d i e r e n c e i n s t r i d e s m a k e s i t n o n - o b v i o u s w h e t h e r v e c t o r r e c u r s i o n

i s a d v a n t a g e o u s f o r t h e s u b - p r o b l e m , b u t f o r l a r g e t r a n s f o r m s w e o f t e n o b s e r v e t h e p l a n n e r

t o c h o o s e t h i s p o s s i b i l i t y .

I n - p l a c e 1 d t r a n s f o r m s ( w i t h n o s e p a r a t e b i t r e v e r s a l p a s s ) c a n b e o b t a i n e d a s f o l l o w s b y a

c o m b i n a t i o n D I T a n d D I F p l a n s " C o o l e y - T u k e y p l a n s " ( S e c t i o n 1 1 . 5 . 2 . 2 . 2 : C o o l e y - T u k e y

p l a n s ) w i t h t r a n s p o s e s " R a n k - 0 p l a n s " ( S e c t i o n 1 1 . 5 . 2 . 1 : R a n k - 0 p l a n s ) . F i r s t , t h e t r a n s f o r m

i s d e c o m p o s e d v i a a r a d i x - p D I T p l a n i n t o a v e c t o r o f p t r a n s f o r m s o f s i z e qm , t h e n t h e s e

a r e d e c o m p o s e d i n t u r n b y a r a d i x - q D I F p l a n i n t o a v e c t o r ( r a n k 2 ) o f p × q t r a n s f o r m s o f

s i z e m. T h e s e t r a n s f o r m s o f s i z e m h a v e i n p u t a n d o u t p u t a t d i e r e n t p l a c e s / s t r i d e s i n t h e

o r i g i n a l a r r a y , a n d s o c a n n o t b e s o l v e d i n d e p e n d e n t l y . I n s t e a d , a n i n d i r e c t p l a n " I n d i r e c t

p l a n s " ( S e c t i o n 1 1 . 5 . 2 . 4 : I n d i r e c t p l a n s ) i s u s e d t o e x p r e s s t h e s u b - p r o b l e m a s pq i n - p l a c e

t r a n s f o r m s o f s i z e m, f o l l o w e d o r p r e c e d e d b y a n m

× p

×q r a n k - 0 t r a n s f o r m . T h e l a t t e r

s u b - p r o b l e m i s e a s i l y s e e n t o b e m i n - p l a c e p × q t r a n s p o s e s ( i d e a l l y s q u a r e , i . e . p = q ) .

R e l a t e d s t r a t e g i e s f o r i n - p l a c e t r a n s f o r m s b a s e d o n s m a l l t r a n s p o s e s w e r e d e s c r i b e d i n [ 1 9 5 ] ,

[ 3 7 5 ] , [ 2 9 7 ] , [ 1 6 6 ] ; a l t e r n a t i n g D I T / D I F , w i t h o u t c o n c e r n f o r i n - p l a c e o p e r a t i o n , w a s a l s o

c o n s i d e r e d i n [ 2 5 5 ] , [ 3 2 2 ] .

1 1 . 5 . 3 T h e F F T W p l a n n e r

G i v e n a p r o b l e m a n d a s e t o f p o s s i b l e p l a n s , t h e b a s i c p r i n c i p l e b e h i n d t h e F F T W p l a n n e r

i s s t r a i g h t f o r w a r d : c o n s t r u c t a p l a n f o r e a c h a p p l i c a b l e a l g o r i t h m i c s t e p , t i m e t h e e x e c u t i o n

o f t h e s e p l a n s , a n d s e l e c t t h e f a s t e s t o n e . E a c h a l g o r i t h m i c s t e p m a y b r e a k t h e p r o b l e m

i n t o s u b p r o b l e m s , a n d t h e f a s t e s t p l a n f o r e a c h s u b p r o b l e m i s c o n s t r u c t e d i n t h e s a m e w a y .

T h e s e t i m i n g m e a s u r e m e n t s c a n e i t h e r b e p e r f o r m e d a t r u n t i m e , o r a l t e r n a t i v e l y t h e p l a n s

f o r a g i v e n s e t o f s i z e s c a n b e p r e c o m p u t e d a n d l o a d e d a t a l a t e r t i m e .

A d i r e c t i m p l e m e n t a t i o n o f t h i s a p p r o a c h , h o w e v e r , f a c e s a n e x p o n e n t i a l e x p l o s i o n o f t h e

n u m b e r o f p o s s i b l e p l a n s , a n d h e n c e o f t h e p l a n n i n g t i m e , a s n i n c r e a s e s . I n o r d e r t o

r e d u c e t h e p l a n n i n g t i m e t o a m a n a g e a b l e l e v e l , w e e m p l o y s e v e r a l h e u r i s t i c s t o r e d u c e t h e

s p a c e o f p o s s i b l e p l a n s t h a t m u s t b e c o m p a r e d . T h e m o s t i m p o r t a n t o f t h e s e h e u r i s t i c s i s

d y n a m i c p r o g r a m m i n g [ 9 6 ] : i t o p t i m i z e s e a c h s u b - p r o b l e m l o c a l l y , i n d e p e n d e n t l y o f t h e

l a r g e r c o n t e x t ( s o t h a t t h e b e s t p l a n f o r a g i v e n s u b - p r o b l e m i s r e - u s e d w h e n e v e r t h a t s u b -

p r o b l e m i s e n c o u n t e r e d ) . D y n a m i c p r o g r a m m i n g i s n o t g u a r a n t e e d t o n d t h e f a s t e s t p l a n ,

b e c a u s e t h e p e r f o r m a n c e o f p l a n s i s c o n t e x t - d e p e n d e n t o n r e a l m a c h i n e s ( e . g . , t h e c o n t e n t s

o f t h e c a c h e d e p e n d o n t h e p r e c e d i n g c o m p u t a t i o n s ) ; h o w e v e r , t h i s a p p r o x i m a t i o n w o r k s

r e a s o n a b l y w e l l i n p r a c t i c e a n d g r e a t l y r e d u c e s t h e p l a n n i n g t i m e . O t h e r a p p r o x i m a t i o n s ,

s u c h a s r e s t r i c t i o n s o n t h e t y p e s o f l o o p - r e o r d e r i n g s t h a t a r e c o n s i d e r e d " P l a n s f o r h i g h e r

v e c t o r r a n k s " ( S e c t i o n 1 1 . 5 . 2 . 3 : P l a n s f o r h i g h e r v e c t o r r a n k s ) , a r e d e s c r i b e d i n [ 1 3 4 ] .

A l t e r n a t i v e l y , t h e r e i s a n e s t i m a t e m o d e t h a t p e r f o r m s n o t i m i n g m e a s u r e m e n t s w h a t s o -

e v e r , b u t i n s t e a d m i n i m i z e s a h e u r i s t i c c o s t f u n c t i o n . T h i s c a n r e d u c e t h e p l a n n e r t i m e b y

s e v e r a l o r d e r s o f m a g n i t u d e , b u t w i t h a s i g n i c a n t p e n a l t y o b s e r v e d i n p l a n e c i e n c y ; e . g . ,

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 136/254

1 3 0

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

a p e n a l t y o f 2 0 % i s t y p i c a l f o r m o d e r a t e n 213 , w h e r e a s a f a c t o r o f 2 3 c a n b e s u e r e d f o r

l a r g e n 216 [ 1 3 4 ] . C o m i n g u p w i t h a b e t t e r h e u r i s t i c p l a n i s a n i n t e r e s t i n g o p e n r e s e a r c h

q u e s t i o n ; o n e d i c u l t y i s t h a t , b e c a u s e F F T a l g o r i t h m s d e p e n d o n f a c t o r i z a t i o n , k n o w i n g a

g o o d p l a n f o r n d o e s n o t i m m e d i a t e l y h e l p o n e n d a g o o d p l a n f o r n e a r b y n.

1 1 . 6 G e n e r a t i n g S m a l l F F T K e r n e l s

T h e b a s e c a s e s o f F F T W ' s r e c u r s i v e p l a n s a r e i t s c o d e l e t s , a n d t h e s e f o r m a c r i t i c a l c o m p o -

n e n t o f F F T W ' s p e r f o r m a n c e . T h e y c o n s i s t o f l o n g b l o c k s o f h i g h l y o p t i m i z e d , s t r a i g h t - l i n e

c o d e , i m p l e m e n t i n g m a n y s p e c i a l c a s e s o f t h e D F T t h a t g i v e t h e p l a n n e r a l a r g e s p a c e o f

p l a n s i n w h i c h t o o p t i m i z e . N o t o n l y w a s i t i m p r a c t i c a l t o w r i t e n u m e r o u s c o d e l e t s b y h a n d ,

b u t w e a l s o n e e d e d t o r e w r i t e t h e m m a n y t i m e s i n o r d e r t o e x p l o r e d i e r e n t a l g o r i t h m s a n d

o p t i m i z a t i o n s . T h u s , w e d e s i g n e d a s p e c i a l - p u r p o s e F F T c o m p i l e r c a l l e d g e n t t h a t p r o -

d u c e s t h e c o d e l e t s a u t o m a t i c a l l y f r o m a n a b s t r a c t d e s c r i p t i o n . g e n t i s s u m m a r i z e d i n t h i s

s e c t i o n a n d d e s c r i b e d i n m o r e d e t a i l b y [ 1 2 8 ] .

A t y p i c a l c o d e l e t i n F F T W c o m p u t e s a D F T o f a s m a l l , x e d s i z e n ( u s u a l l y , n ≤ 64) ,

p o s s i b l y w i t h t h e i n p u t o r o u t p u t m u l t i p l i e d b y t w i d d l e f a c t o r s " C o o l e y - T u k e y p l a n s " ( S e c -

t i o n 1 1 . 5 . 2 . 2 . 2 : C o o l e y - T u k e y p l a n s ) . S e v e r a l o t h e r k i n d s o f c o d e l e t s c a n b e p r o d u c e d b y

g e n t , b u t w e w i l l f o c u s h e r e o n t h i s c o m m o n c a s e .

I n p r i n c i p l e , a l l c o d e l e t s i m p l e m e n t s o m e c o m b i n a t i o n o f t h e C o o l e y - T u k e y a l g o r i t h m f r o m

( 1 1 . 2 ) a n d / o r s o m e o t h e r D F T a l g o r i t h m e x p r e s s e d b y a s i m i l a r l y c o m p a c t f o r m u l a . H o w e v e r ,

a h i g h - p e r f o r m a n c e i m p l e m e n t a t i o n o f t h e D F T m u s t a d d r e s s m a n y m o r e c o n c e r n s t h a n

( 1 1 . 2 ) a l o n e s u g g e s t s . F o r e x a m p l e , ( 1 1 . 2 ) c o n t a i n s m u l t i p l i c a t i o n s b y 1 t h a t a r e m o r e

e c i e n t t o o m i t . ( 1 1 . 2 ) e n t a i l s a r u n - t i m e f a c t o r i z a t i o n o f n, w h i c h c a n b e p r e c o m p u t e d

i f n i s k n o w n i n a d v a n c e . ( 1 1 . 2 ) o p e r a t e s o n c o m p l e x n u m b e r s , b u t b r e a k i n g t h e c o m p l e x -

n u m b e r a b s t r a c t i o n i n t o r e a l a n d i m a g i n a r y c o m p o n e n t s t u r n s o u t t o e x p o s e c e r t a i n n o n -

o b v i o u s o p t i m i z a t i o n s . A d d i t i o n a l l y , t o e x p l o i t t h e l o n g p i p e l i n e s i n c u r r e n t p r o c e s s o r s , t h e

r e c u r s i o n i m p l i c i t i n ( 1 1 . 2 ) s h o u l d b e u n r o l l e d a n d r e - o r d e r e d t o a s i g n i c a n t d e g r e e . M a n y

f u r t h e r o p t i m i z a t i o n s a r e p o s s i b l e i f t h e c o m p l e x i n p u t i s k n o w n i n a d v a n c e t o b e p u r e l y

r e a l ( o r i m a g i n a r y ) . O u r d e s i g n g o a l f o r g e n t w a s t o k e e p t h e e x p r e s s i o n o f t h e D F T

a l g o r i t h m i n d e p e n d e n t o f s u c h c o n c e r n s . T h i s s e p a r a t i o n a l l o w e d u s t o e x p e r i m e n t w i t h

v a r i o u s D F T a l g o r i t h m s a n d i m p l e m e n t a t i o n s t r a t e g i e s i n d e p e n d e n t l y a n d w i t h o u t ( m u c h )

t e d i o u s r e w r i t i n g .

g e n t i s s t r u c t u r e d a s a c o m p i l e r w h o s e i n p u t c o n s i s t s o f t h e k i n d a n d s i z e o f t h e d e s i r e d

c o d e l e t , a n d w h o s e o u t p u t i s C c o d e . g e n t o p e r a t e s i n f o u r p h a s e s : c r e a t i o n , s i m p l i c a t i o n ,

s c h e d u l i n g , a n d u n p a r s i n g .

I n t h e c r e a t i o n p h a s e , g e n t p r o d u c e s a r e p r e s e n t a t i o n o f t h e c o d e l e t i n t h e f o r m o f a d i -

r e c t e d a c y c l i c g r a p h ( d a g ) . T h e d a g i s p r o d u c e d a c c o r d i n g t o w e l l - k n o w n D F T a l g o r i t h m s :

C o o l e y - T u k e y ( 1 1 . 2 ) , p r i m e - f a c t o r [ 2 7 8 ] , s p l i t - r a d i x [ 4 2 2 ] , [ 1 0 7 ] , [ 3 9 1 ] , [ 2 3 0 ] , [ 1 1 4 ] , a n d R a d e r

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 137/254

1 3 1

[ 3 0 9 ] . E a c h a l g o r i t h m i s e x p r e s s e d i n a s t r a i g h t f o r w a r d m a t h - l i k e n o t a t i o n , u s i n g c o m p l e x

n u m b e r s , w i t h n o a t t e m p t a t o p t i m i z a t i o n . U n l i k e a n o r m a l F F T i m p l e m e n t a t i o n , h o w e v e r ,

t h e a l g o r i t h m s h e r e a r e e v a l u a t e d s y m b o l i c a l l y a n d t h e r e s u l t i n g s y m b o l i c e x p r e s s i o n i s r e p -

r e s e n t e d a s a d a g , a n d i n p a r t i c u l a r i t c a n b e v i e w e d a s a l i n e a r n e t w o r k [ 9 8 ] ( i n w h i c h

t h e e d g e s r e p r e s e n t m u l t i p l i c a t i o n b y c o n s t a n t s a n d t h e v e r t i c e s r e p r e s e n t a d d i t i o n s o f t h e

i n c o m i n g e d g e s ) .

I n t h e s i m p l i c a t i o n p h a s e , g e n t a p p l i e s l o c a l r e w r i t i n g r u l e s t o e a c h n o d e o f t h e d a g

i n o r d e r t o s i m p l i f y i t . T h i s p h a s e p e r f o r m s a l g e b r a i c t r a n s f o r m a t i o n s ( s u c h a s e l i m i n a t i n g

m u l t i p l i c a t i o n s b y 1 ) a n d c o m m o n - s u b e x p r e s s i o n e l i m i n a t i o n . A l t h o u g h s u c h t r a n s f o r m a -

t i o n s c a n b e p e r f o r m e d b y a c o n v e n t i o n a l c o m p i l e r t o s o m e d e g r e e , t h e y c a n b e c a r r i e d

o u t h e r e t o a g r e a t e r e x t e n t b e c a u s e g e n t c a n e x p l o i t t h e s p e c i c p r o b l e m d o m a i n . F o r

e x a m p l e , t w o e q u i v a l e n t s u b e x p r e s s i o n s c a n a l w a y s b e d e t e c t e d , e v e n i f t h e s u b e x p r e s s i o n s

a r e w r i t t e n i n a l g e b r a i c a l l y d i e r e n t f o r m s , b e c a u s e a l l s u b e x p r e s s i o n s c o m p u t e l i n e a r f u n c -

t i o n s . A l s o , g e n t c a n e x p l o i t t h e p r o p e r t y t h a t n e t w o r k t r a n s p o s i t i o n ( r e v e r s i n g t h e

d i r e c t i o n o f e v e r y e d g e ) c o m p u t e s t h e t r a n s p o s e d l i n e a r o p e r a t i o n [ 9 8 ] , i n o r d e r t o t r a n s p o s e

t h e n e t w o r k , s i m p l i f y , a n d t h e n t r a n s p o s e b a c k t h i s t u r n s o u t t o e x p o s e a d d i t i o n a l c o m -

m o n s u b e x p r e s s i o n s [ 1 2 8 ] . I n t o t a l , t h e s e s i m p l i c a t i o n s a r e s u c i e n t l y p o w e r f u l t o d e r i v e

D F T a l g o r i t h m s s p e c i a l i z e d f o r r e a l a n d / o r s y m m e t r i c d a t a a u t o m a t i c a l l y f r o m t h e c o m p l e x

a l g o r i t h m s . F o r e x a m p l e , i t i s k n o w n t h a t w h e n t h e i n p u t o f a D F T i s r e a l ( a n d t h e o u t p u t

i s h e n c e c o n j u g a t e - s y m m e t r i c ) , o n e c a n s a v e a l i t t l e o v e r a f a c t o r o f t w o i n a r i t h m e t i c c o s t

b y s p e c i a l i z i n g F F T a l g o r i t h m s f o r t h i s c a s e w i t h g e n t , t h i s s p e c i a l i z a t i o n c a n b e d o n e

e n t i r e l y a u t o m a t i c a l l y , p r u n i n g t h e r e d u n d a n t o p e r a t i o n s f r o m t h e d a g , t o m a t c h t h e l o w e s t

k n o w n o p e r a t i o n c o u n t f o r a r e a l - i n p u t F F T s t a r t i n g o n l y f r o m t h e c o m p l e x - d a t a a l g o r i t h m

[ 1 2 8 ] , [ 2 0 2 ] . W e t a k e a d v a n t a g e o f t h i s p r o p e r t y t o h e l p u s i m p l e m e n t r e a l - d a t a D F T s [ 1 2 8 ] ,

[ 1 3 4 ] , t o e x p l o i t m a c h i n e - s p e c i c S I M D i n s t r u c t i o n s " S I M D i n s t r u c t i o n s " ( S e c t i o n 1 1 . 6 . 1 :

S I M D i n s t r u c t i o n s ) [ 1 3 4 ] , a n d t o g e n e r a t e c o d e l e t s f o r t h e d i s c r e t e c o s i n e ( D C T ) a n d s i n e

( D S T ) t r a n s f o r m s [ 1 2 8 ] , [ 2 0 2 ] . F u r t h e r m o r e , b y e x p e r i m e n t a t i o n w e h a v e d i s c o v e r e d a d d i -

t i o n a l s i m p l i c a t i o n s t h a t i m p r o v e t h e s p e e d o f t h e g e n e r a t e d c o d e . O n e i n t e r e s t i n g e x a m p l e

i s t h e e l i m i n a t i o n o f n e g a t i v e c o n s t a n t s [ 1 2 8 ] : m u l t i p l i c a t i v e c o n s t a n t s i n F F T a l g o r i t h m s

o f t e n c o m e i n p o s i t i v e / n e g a t i v e p a i r s , b u t e v e r y C c o m p i l e r w e a r e a w a r e o f w i l l g e n e r a t e

s e p a r a t e l o a d i n s t r u c t i o n s f o r p o s i t i v e a n d n e g a t i v e v e r s i o n s o f t h e s a m e c o n s t a n t s .

1 2

W e

t h u s o b t a i n e d a 1 0 1 5 % s p e e d u p b y m a k i n g a l l c o n s t a n t s p o s i t i v e , w h i c h i n v o l v e s p r o p a g a t -

i n g m i n u s s i g n s t o c h a n g e a d d i t i o n s i n t o s u b t r a c t i o n s o r v i c e v e r s a e l s e w h e r e i n t h e d a g ( a

d a u n t i n g t a s k i f i t h a d t o b e d o n e m a n u a l l y f o r t e n s o f t h o u s a n d s o f l i n e s o f c o d e ) .

I n t h e s c h e d u l i n g p h a s e , g e n t p r o d u c e s a t o p o l o g i c a l s o r t o f t h e d a g ( a s c h e d u l e ) . T h e

g o a l o f t h i s p h a s e i s t o n d a s c h e d u l e s u c h t h a t a C c o m p i l e r c a n s u b s e q u e n t l y p e r f o r m a

g o o d r e g i s t e r a l l o c a t i o n . T h e s c h e d u l i n g a l g o r i t h m u s e d b y g e n t o e r s c e r t a i n t h e o r e t i c a l

g u a r a n t e e s b e c a u s e i t h a s i t s f o u n d a t i o n s i n t h e t h e o r y o f c a c h e - o b l i v i o u s a l g o r i t h m s [ 1 3 7 ]

( h e r e , t h e r e g i s t e r s a r e v i e w e d a s a f o r m o f c a c h e ) , a s d e s c r i b e d i n " M e m o r y s t r a t e g i e s i n

1 2

F l o a t i n g - p o i n t c o n s t a n t s m u s t b e s t o r e d e x p l i c i t l y i n m e m o r y ; t h e y c a n n o t b e e m b e d d e d d i r e c t l y i n t o

t h e C P U i n s t r u c t i o n s l i k e i n t e g e r i m m e d i a t e c o n s t a n t s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 138/254

1 3 2

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

F F T W " ( S e c t i o n 1 1 . 4 . 3 : M e m o r y s t r a t e g i e s i n F F T W ) . A s a p r a c t i c a l m a t t e r , o n e c o n s e -

q u e n c e o f t h i s s c h e d u l e r i s t h a t F F T W ' s m a c h i n e - i n d e p e n d e n t c o d e l e t s a r e n o s l o w e r t h a n

m a c h i n e - s p e c i c c o d e l e t s g e n e r a t e d b y S P I R A L [ 4 2 0 ] .

I n t h e s t o c k g e n t i m p l e m e n t a t i o n , t h e s c h e d u l e i s n a l l y u n p a r s e d t o C . A v a r i a t i o n f r o m

[ 1 2 7 ] i m p l e m e n t s t h e r e s t o f a c o m p i l e r b a c k e n d a n d o u t p u t s a s s e m b l y c o d e .

1 1 . 6 . 1 S I M D i n s t r u c t i o n s

U n f o r t u n a t e l y , i t i s i m p o s s i b l e t o a t t a i n n e a r l y p e a k p e r f o r m a n c e o n c u r r e n t p o p u l a r p r o -

c e s s o r s w h i l e u s i n g o n l y p o r t a b l e C c o d e . I n s t e a d , a s i g n i c a n t p o r t i o n o f t h e a v a i l a b l e

c o m p u t i n g p o w e r c a n o n l y b e a c c e s s e d b y u s i n g s p e c i a l i z e d S I M D ( s i n g l e - i n s t r u c t i o n m u l t i -

p l e d a t a ) i n s t r u c t i o n s , w h i c h p e r f o r m t h e s a m e o p e r a t i o n i n p a r a l l e l o n a d a t a v e c t o r . F o r

e x a m p l e , a l l m o d e r n x 8 6 p r o c e s s o r s c a n e x e c u t e a r i t h m e t i c i n s t r u c t i o n s o n v e c t o r s o f f o u r

s i n g l e - p r e c i s i o n v a l u e s ( S S E i n s t r u c t i o n s ) o r t w o d o u b l e - p r e c i s i o n v a l u e s ( S S E 2 i n s t r u c t i o n s )

a t a t i m e , a s s u m i n g t h a t t h e o p e r a n d s a r e a r r a n g e d c o n s e c u t i v e l y i n m e m o r y a n d s a t i s f y

a 1 6 - b y t e a l i g n m e n t c o n s t r a i n t . F o r t u n a t e l y , b e c a u s e n e a r l y a l l o f F F T W ' s l o w - l e v e l c o d e

i s p r o d u c e d b y g e n t , m a c h i n e - s p e c i c i n s t r u c t i o n s c o u l d b e e x p l o i t e d b y m o d i f y i n g t h e

g e n e r a t o r t h e i m p r o v e m e n t s a r e t h e n a u t o m a t i c a l l y p r o p a g a t e d t o a l l o f F F T W ' s c o d e l e t s ,

a n d i n p a r t i c u l a r a r e n o t l i m i t e d t o a s m a l l s e t o f s i z e s s u c h a s p o w e r s o f t w o .

S I M D i n s t r u c t i o n s a r e s u p e r c i a l l y s i m i l a r t o v e c t o r p r o c e s s o r s , w h i c h a r e d e s i g n e d t o p e r -

f o r m t h e s a m e o p e r a t i o n i n p a r a l l e l o n a n a l l e l e m e n t s o f a d a t a a r r a y ( a v e c t o r ) . T h e

p e r f o r m a n c e o f t r a d i t i o n a l v e c t o r p r o c e s s o r s w a s b e s t f o r l o n g v e c t o r s t h a t a r e s t o r e d i n

c o n t i g u o u s m e m o r y l o c a t i o n s , a n d s p e c i a l a l g o r i t h m s w e r e d e v e l o p e d t o i m p l e m e n t t h e D F T

e c i e n t l y o n t h i s k i n d o f h a r d w a r e [ 3 7 2 ] , [ 1 6 6 ] . U n l i k e i n v e c t o r p r o c e s s o r s , h o w e v e r , t h e

S I M D v e c t o r l e n g t h i s s m a l l a n d x e d ( u s u a l l y 2 o r 4 ) . B e c a u s e m i c r o p r o c e s s o r s d e p e n d

o n c a c h e s f o r p e r f o r m a n c e , o n e c a n n o t n a i v e l y u s e S I M D i n s t r u c t i o n s t o s i m u l a t e a l o n g -

v e c t o r a l g o r i t h m : w h i l e o n v e c t o r m a c h i n e s l o n g v e c t o r s g e n e r a l l y y i e l d b e t t e r p e r f o r m a n c e ,

t h e p e r f o r m a n c e o f a m i c r o p r o c e s s o r d r o p s a s s o o n a s t h e d a t a v e c t o r s e x c e e d t h e c a p a c -

i t y o f t h e c a c h e . C o n s e q u e n t l y , S I M D i n s t r u c t i o n s a r e b e t t e r s e e n a s a r e s t r i c t e d f o r m o f

i n s t r u c t i o n - l e v e l p a r a l l e l i s m t h a n a s a d e g e n e r a t e a v o r o f v e c t o r p a r a l l e l i s m , a n d d i e r e n t

D F T a l g o r i t h m s a r e r e q u i r e d .

T h e t e c h n i q u e u s e d t o e x p l o i t S I M D i n s t r u c t i o n s i n g e n t i s m o s t e a s i l y u n d e r s t o o d f o r

v e c t o r s o f l e n g t h t w o ( e . g . , S S E 2 ) . I n t h i s c a s e , w e v i e w a c o m p l e x D F T a s a p a i r o f r e a l

D F T s :

D F T (A + i · B) = D F T (A) + i · D F T (B) , ( 1 1 . 7 )

w h e r e A a n d B a r e t w o r e a l a r r a y s . O u r a l g o r i t h m c o m p u t e s t h e t w o r e a l D F T s i n p a r a l l e l

u s i n g S I M D i n s t r u c t i o n s , a n d t h e n i t c o m b i n e s t h e t w o o u t p u t s a c c o r d i n g t o ( 1 1 . 7 ) . T h i s

S I M D a l g o r i t h m h a s t w o i m p o r t a n t p r o p e r t i e s . F i r s t , i f t h e d a t a i s s t o r e d a s a n a r r a y o f

c o m p l e x n u m b e r s , a s o p p o s e d t o t w o s e p a r a t e r e a l a n d i m a g i n a r y a r r a y s , t h e S I M D l o a d s

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 139/254

1 3 3

a n d s t o r e s a l w a y s o p e r a t e o n c o r r e c t l y - a l i g n e d c o n t i g u o u s l o c a t i o n s , e v e n i f t h e t h e c o m p l e x

n u m b e r s t h e m s e l v e s h a v e a n o n - u n i t s t r i d e . S e c o n d , b e c a u s e t h e a l g o r i t h m n d s t w o - w a y

p a r a l l e l i s m i n t h e r e a l a n d i m a g i n a r y p a r t s o f a s i n g l e D F T ( a s o p p o s e d t o p e r f o r m i n g t w o

D F T s i n p a r a l l e l ) , w e c a n c o m p l e t e l y p a r a l l e l i z e D F T s o f a n y s i z e , n o t j u s t e v e n s i z e s o r

p o w e r s o f 2 .

1 1 . 7 N u m e r i c a l A c c u r a c y i n F F T s

A n i m p o r t a n t c o n s i d e r a t i o n i n t h e i m p l e m e n t a t i o n o f a n y p r a c t i c a l n u m e r i c a l a l g o r i t h m i s

n u m e r i c a l a c c u r a c y : h o w q u i c k l y d o o a t i n g - p o i n t r o u n d o e r r o r s a c c u m u l a t e i n t h e c o u r s e

o f t h e c o m p u t a t i o n ? F o r t u n a t e l y , F F T a l g o r i t h m s f o r t h e m o s t p a r t h a v e r e m a r k a b l y g o o d

a c c u r a c y c h a r a c t e r i s t i c s . I n p a r t i c u l a r , f o r a D F T o f l e n g t h n c o m p u t e d b y a C o o l e y - T u k e y

a l g o r i t h m w i t h n i t e - p r e c i s i o n o a t i n g - p o i n t a r i t h m e t i c , t h e w o r s t - c a s e e r r o r g r o w t h i s

O (logn) [ 1 3 9 ] , [ 3 7 3 ] a n d t h e m e a n e r r o r g r o w t h f o r r a n d o m i n p u t s i s o n l y O√ logn

[ 3 2 6 ] ,

[ 3 7 3 ] . T h i s i s s o g o o d t h a t , i n p r a c t i c a l a p p l i c a t i o n s , a p r o p e r l y i m p l e m e n t e d F F T w i l l r a r e l y

b e a s i g n i c a n t c o n t r i b u t o r t o t h e n u m e r i c a l e r r o r .

T h e a m a z i n g l y s m a l l r o u n d o e r r o r s o f F F T a l g o r i t h m s a r e s o m e t i m e s e x p l a i n e d i n c o r r e c t l y

a s s i m p l y a c o n s e q u e n c e o f t h e r e d u c e d n u m b e r o f o p e r a t i o n s : s i n c e t h e r e a r e f e w e r o p e r a t i o n s

c o m p a r e d t o a n a i v e O (n2) a l g o r i t h m , t h e a r g u m e n t g o e s , t h e r e i s l e s s a c c u m u l a t i o n o f

r o u n d o e r r o r . T h e r e a l r e a s o n , h o w e v e r , i s m o r e s u b t l e t h a n t h a t , a n d h a s t o d o w i t h t h e

o r d e r i n g o f t h e o p e r a t i o n s r a t h e r t h a n t h e i r n u m b e r . F o r e x a m p l e , c o n s i d e r t h e c o m p u t a t i o n

o f o n l y t h e o u t p u t Y [0] i n t h e r a d i x - 2 a l g o r i t h m o f p . ? ? , i g n o r i n g a l l o f t h e o t h e r o u t p u t s o f

t h e F F T . Y [0] i s t h e s u m o f a l l o f t h e i n p u t s , r e q u i r i n g n

−1 a d d i t i o n s . T h e F F T d o e s n o t

c h a n g e t h i s r e q u i r e m e n t , i t m e r e l y c h a n g e s t h e o r d e r o f t h e a d d i t i o n s s o a s t o r e - u s e s o m e

o f t h e m f o r o t h e r o u t p u t s . I n p a r t i c u l a r , t h i s r a d i x - 2 D I T F F T c o m p u t e s Y [0] a s f o l l o w s :

i t r s t s u m s t h e e v e n - i n d e x e d i n p u t s , t h e n s u m s t h e o d d - i n d e x e d i n p u t s , t h e n a d d s t h e t w o

s u m s ; t h e e v e n - a n d o d d - i n d e x e d i n p u t s a r e s u m m e d r e c u r s i v e l y b y t h e s a m e p r o c e d u r e .

T h i s p r o c e s s i s s o m e t i m e s c a l l e d c a s c a d e s u m m a t i o n , a n d e v e n t h o u g h i t s t i l l r e q u i r e s

n − 1 t o t a l a d d i t i o n s t o c o m p u t e Y [0] b y i t s e l f , i t s r o u n d o e r r o r g r o w s m u c h m o r e s l o w l y

t h a n s i m p l y a d d i n g X [0], X [1], X [2] a n d s o o n i n s e q u e n c e . S p e c i c a l l y , t h e r o u n d o e r r o r

w h e n a d d i n g u p n o a t i n g - p o i n t n u m b e r s i n s e q u e n c e g r o w s a s O (n) i n t h e w o r s t c a s e ,

o r a s O (√

n) o n a v e r a g e f o r r a n d o m i n p u t s ( w h e r e t h e e r r o r s g r o w a c c o r d i n g t o a r a n d o m

w a l k ) , b u t s i m p l y r e o r d e r i n g t h e s e n - 1 a d d i t i o n s i n t o a c a s c a d e s u m m a t i o n y i e l d s O (logn)w o r s t - c a s e a n d

O√ logn

a v e r a g e - c a s e e r r o r g r o w t h [ 1 8 2 ] .

H o w e v e r , t h e s e e n c o u r a g i n g e r r o r - g r o w t h r a t e s o n l y a p p l y i f t h e t r i g o n o m e t r i c t w i d d l e

f a c t o r s i n t h e F F T a l g o r i t h m a r e c o m p u t e d v e r y a c c u r a t e l y . M a n y F F T i m p l e m e n t a t i o n s ,

i n c l u d i n g F F T W a n d c o m m o n m a n u f a c t u r e r - o p t i m i z e d l i b r a r i e s , t h e r e f o r e u s e p r e c o m p u t e d

t a b l e s o f t w i d d l e f a c t o r s c a l c u l a t e d b y m e a n s o f s t a n d a r d l i b r a r y f u n c t i o n s ( w h i c h c o m p u t e

t r i g o n o m e t r i c c o n s t a n t s t o r o u g h l y m a c h i n e p r e c i s i o n ) . T h e o t h e r c o m m o n m e t h o d t o c o m -

p u t e t w i d d l e f a c t o r s i s t o u s e a t r i g o n o m e t r i c r e c u r r e n c e f o r m u l a t h i s s a v e s m e m o r y ( a n d

c a c h e ) , b u t a l m o s t a l l r e c u r r e n c e s h a v e e r r o r s t h a t g r o w a s O (√

n), O (n) , o r e v e n O (n2)

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 140/254

1 3 4

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

[ 3 7 4 ] , w h i c h l e a d t o c o r r e s p o n d i n g e r r o r s i n t h e F F T . F o r e x a m p l e , o n e s i m p l e r e c u r r e n c e i s

ei(k+1)θ = eikθeiθ, m u l t i p l y i n g r e p e a t e d l y b y eiθ

t o o b t a i n a s e q u e n c e o f e q u a l l y s p a c e d a n g l e s ,

b u t t h e e r r o r s w h e n u s i n g t h i s p r o c e s s g r o w a s O (n) [ 3 7 4 ] . A c o m m o n i m p r o v e d r e c u r r e n c e

i s ei(k+1)θ = eikθ + eikθ

eiθ − 1

, w h e r e t h e s m a l l q u a n t i t y

1 3

eiθ − 1 = cos (θ) − 1 + isin (θ) i s

c o m p u t e d u s i n g cos (θ) − 1 = −2sin2 (θ/2) [ 3 4 1 ] ; u n f o r t u n a t e l y , t h e e r r o r u s i n g t h i s m e t h o d

s t i l l g r o w s a s O (√

n) [ 3 7 4 ] , f a r w o r s e t h a n l o g a r i t h m i c .

T h e r e a r e , i n f a c t , t r i g o n o m e t r i c r e c u r r e n c e s w i t h t h e s a m e l o g a r i t h m i c e r r o r g r o w t h a s t h e

F F T , b u t t h e s e s e e m m o r e d i c u l t t o i m p l e m e n t e c i e n t l y ; t h e y r e q u i r e t h a t a t a b l e o f

Θ (logn) v a l u e s b e s t o r e d a n d u p d a t e d a s t h e r e c u r r e n c e p r o g r e s s e s [ 4 2 ] , [ 3 7 4 ] . I n s t e a d , i n

o r d e r t o g a i n a t l e a s t s o m e o f t h e b e n e t s o f a t r i g o n o m e t r i c r e c u r r e n c e ( r e d u c e d m e m o r y

p r e s s u r e a t t h e e x p e n s e o f m o r e a r i t h m e t i c ) , F F T W i n c l u d e s s e v e r a l w a y s t o c o m p u t e a m u c h

s m a l l e r t w i d d l e t a b l e , f r o m w h i c h t h e d e s i r e d e n t r i e s c a n b e c o m p u t e d a c c u r a t e l y o n t h e y

u s i n g a b o u n d e d n u m b e r ( u s u a l l y < 3) o f c o m p l e x m u l t i p l i c a t i o n s . F o r e x a m p l e , i n s t e a d o f

a t w i d d l e t a b l e w i t h n e n t r i e s ωkn , F F T W c a n u s e t w o t a b l e s w i t h Θ (√ n) e n t r i e s e a c h , s o

t h a t ωkn i s c o m p u t e d b y m u l t i p l y i n g a n e n t r y i n o n e t a b l e ( i n d e x e d w i t h t h e l o w - o r d e r b i t s

o f k ) b y a n e n t r y i n t h e o t h e r t a b l e ( i n d e x e d w i t h t h e h i g h - o r d e r b i t s o f k ) .

T h e r e a r e a f e w n o n - C o o l e y - T u k e y a l g o r i t h m s t h a t a r e k n o w n t o h a v e w o r s e e r r o r c h a r a c -

t e r i s t i c s , s u c h a s t h e r e a l - f a c t o r a l g o r i t h m [ 3 1 3 ] , [ 1 1 4 ] , b u t t h e s e a r e r a r e l y u s e d i n p r a c t i c e

( a n d a r e n o t u s e d a t a l l i n F F T W ) . O n t h e o t h e r h a n d , s o m e c o m m o n l y u s e d a l g o r i t h m s f o r

t y p e - I a n d t y p e - I V d i s c r e t e c o s i n e t r a n s f o r m s [ 3 7 2 ] , [ 2 9 0 ] , [ 7 3 ] h a v e e r r o r s t h a t w e o b s e r v e d

t o g r o w a s

√ n e v e n f o r a c c u r a t e t r i g o n o m e t r i c c o n s t a n t s ( a l t h o u g h w e a r e n o t a w a r e o f a n y

t h e o r e t i c a l e r r o r a n a l y s i s o f t h e s e a l g o r i t h m s ) , a n d t h u s w e w e r e f o r c e d t o u s e a l t e r n a t i v e

a l g o r i t h m s [ 1 3 4 ] .

T o m e a s u r e t h e a c c u r a c y o f F F T W , w e c o m p a r e a g a i n s t a s l o w F F T i m p l e m e n t e d i n

a r b i t r a r y - p r e c i s i o n a r i t h m e t i c , w h i l e t o v e r i f y t h e c o r r e c t n e s s w e h a v e f o u n d t h e O (nlogn)s e l f - t e s t a l g o r i t h m o f [ 1 2 2 ] v e r y u s e f u l .

1 1 . 8 C o n c l u d i n g R e m a r k s

I t i s u n l i k e l y t h a t m a n y r e a d e r s o f t h i s c h a p t e r w i l l e v e r h a v e t o i m p l e m e n t t h e i r o w n f a s t

F o u r i e r t r a n s f o r m s o f t w a r e , e x c e p t a s a l e a r n i n g e x e r c i s e . T h e c o m p u t a t i o n o f t h e D F T ,

m u c h l i k e b a s i c l i n e a r a l g e b r a o r i n t e g r a t i o n o f o r d i n a r y d i e r e n t i a l e q u a t i o n s , i s s o c e n t r a l t o

n u m e r i c a l c o m p u t i n g a n d s o w e l l - e s t a b l i s h e d t h a t r o b u s t , e x i b l e , h i g h l y o p t i m i z e d l i b r a r i e s

a r e w i d e l y a v a i l a b l e , f o r t h e m o s t p a r t a s f r e e / o p e n - s o u r c e s o f t w a r e . A n d y e t t h e r e a r e

m a n y o t h e r p r o b l e m s f o r w h i c h t h e a l g o r i t h m s a r e n o t s o n a l i z e d , o r f o r w h i c h a l g o r i t h m s

a r e p u b l i s h e d b u t t h e i m p l e m e n t a t i o n s a r e u n a v a i l a b l e o r o f p o o r q u a l i t y . W h a t e v e r n e w

p r o b l e m s o n e c o m e s a c r o s s , t h e r e i s a g o o d c h a n c e t h a t t h e c h a s m b e t w e e n t h e o r y a n d

e c i e n t i m p l e m e n t a t i o n w i l l b e j u s t a s l a r g e a s i t i s f o r F F T s , u n l e s s c o m p u t e r s b e c o m e

1 3

I n a n F F T , t h e t w i d d l e f a c t o r s a r e p o w e r s o f ωn , s o θ i s a s m a l l a n g l e p r o p o r t i o n a l t o 1/n a n d eiθ i s

c l o s e t o 1 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 141/254

1 3 5

m u c h s i m p l e r i n t h e f u t u r e . F o r r e a d e r s w h o e n c o u n t e r s u c h a p r o b l e m , w e h o p e t h a t t h e s e

l e s s o n s f r o m F F T W w i l l b e u s e f u l :

• G e n e r a l i t y a n d p o r t a b i l i t y s h o u l d a l m o s t a l w a y s c o m e r s t .

• T h e n u m b e r o f o p e r a t i o n s , u p t o a c o n s t a n t f a c t o r , i s l e s s i m p o r t a n t t h a n t h e o r d e r o f

o p e r a t i o n s .

• R e c u r s i v e a l g o r i t h m s w i t h l a r g e b a s e c a s e s m a k e o p t i m i z a t i o n e a s i e r .

• O p t i m i z a t i o n , l i k e a n y t e d i o u s t a s k , i s b e s t a u t o m a t e d .

• C o d e g e n e r a t i o n r e c o n c i l e s h i g h - l e v e l p r o g r a m m i n g w i t h l o w - l e v e l p e r f o r m a n c e .

W e s h o u l d a l s o m e n t i o n o n e n a l l e s s o n t h a t w e h a v e n ' t d i s c u s s e d i n t h i s c h a p t e r : y o u c a n ' t

o p t i m i z e i n a v a c u u m , o r y o u e n d u p c o n g r a t u l a t i n g y o u r s e l f f o r m a k i n g a s l o w p r o g r a m

s l i g h t l y f a s t e r . W e s t a r t e d t h e F F T W p r o j e c t a f t e r d o w n l o a d i n g a d o z e n F F T i m p l e m e n t a -

t i o n s , b e n c h m a r k i n g t h e m o n a f e w m a c h i n e s , a n d n o t i n g h o w t h e w i n n e r s v a r i e d b e t w e e n

m a c h i n e s a n d b e t w e e n t r a n s f o r m s i z e s . T h r o u g h o u t F F T W ' s d e v e l o p m e n t , w e c o n t i n u e d t o

b e n e t f r o m r e p e a t e d b e n c h m a r k s a g a i n s t t h e d o z e n s o f h i g h - q u a l i t y F F T p r o g r a m s a v a i l a b l e

o n l i n e , w i t h o u t w h i c h w e w o u l d h a v e t h o u g h t F F T W w a s c o m p l e t e l o n g a g o .

1 1 . 9 A c k n o w l e d g e m e n t s

S G J w a s s u p p o r t e d i n p a r t b y t h e M a t e r i a l s R e s e a r c h S c i e n c e a n d E n g i n e e r i n g C e n t e r p r o -

g r a m o f t h e N a t i o n a l S c i e n c e F o u n d a t i o n u n d e r a w a r d D M R - 9 4 0 0 3 3 4 ; M F w a s s u p p o r t e d

i n p a r t b y t h e D e f e n s e A d v a n c e d R e s e a r c h P r o j e c t s A g e n c y ( D A R P A ) u n d e r c o n t r a c t N o .

N B C H 3 0 3 9 0 0 0 4 . W e a r e a l s o g r a t e f u l t o S i d n e y B u r r u s f o r t h e o p p o r t u n i t y t o c o n t r i b u t e

t h i s c h a p t e r , a n d f o r h i s c o n t i n u a l e n c o u r a g e m e n t d a t i n g b a c k t o h i s r s t k i n d w o r d s i n

1 9 9 7 f o r t h e i n i t i a l F F T e o r t s o f t w o g r a d u a t e s t u d e n t s v e n t u r i n g o u t s i d e t h e i r e l d s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 142/254

1 3 6

C H A P T E R 1 1 . I M P L E M E N T I N G F F T S I N P R A C T I C E

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 143/254

C h a p t e r 1 2

A l g o r i t h m s f o r D a t a w i t h R e s t r i c t i o n s

1

1 2 . 1 A l g o r i t h m s f o r R e a l D a t a

M a n y a p p l i c a t i o n s i n v o l v e p r o c e s s i n g r e a l d a t a . I t i s i n e c i e n t t o s i m p l y u s e a c o m p l e x F F T

o n r e a l d a t a b e c a u s e a r i t h m e t i c w o u l d b e p e r f o r m e d o n t h e z e r o i m a g i n a r y p a r t s o f t h e i n p u t ,

a n d , b e c a u s e o f s y m m e t r i e s , o u t p u t v a l u e s w o u l d b e c a l c u l a t e d t h a t a r e r e d u n d a n t . T h e r e

a r e s e v e r a l a p p r o a c h e s t o d e v e l o p i n g s p e c i a l a l g o r i t h m s o r t o m o d i f y i n g c o m p l e x a l g o r i t h m s

f o r r e a l d a t a .

T h e r e a r e t w o m e t h o d s w h i c h u s e a c o m p l e x F F T i n a s p e c i a l w a y t o i n c r e a s e e c i e n c y [ 3 9 ] ,

[ 3 5 9 ] . T h e r s t m e t h o d u s e s a l e n g t h - N c o m p l e x F F T t o c o m p u t e t w o l e n g t h - N r e a l F F T s

b y p u t t i n g t h e t w o r e a l d a t a s e q u e n c e s i n t o t h e r e a l a n d t h e i m a g i n a r y p a r t s o f t h e i n p u t

t o a c o m p l e x F F T . B e c a u s e t r a n s f o r m s o f r e a l d a t a h a v e e v e n r e a l p a r t s a n d o d d i m a g i n a r y

p a r t s , i t i s p o s s i b l e t o s e p a r a t e t h e t r a n s f o r m s o f t h e t w o i n p u t s w i t h 2 N - 4 e x t r a a d d i t i o n s .

T h i s m e t h o d r e q u i r e s , h o w e v e r , t h a t t w o i n p u t s b e a v a i l a b l e a t t h e s a m e t i m e .

T h e s e c o n d m e t h o d [ 3 5 9 ] u s e s t h e f a c t t h a t t h e l a s t s t a g e o f a d e c i m a t i o n - i n - t i m e r a d i x - 2

F F T c o m b i n e s t w o i n d e p e n d e n t t r a n s f o r m s o f l e n g t h N / 2 t o c o m p u t e a l e n g t h - N t r a n s f o r m .

I f t h e d a t a a r e r e a l , t h e t w o h a l f l e n g t h t r a n s f o r m s a r e c a l c u l a t e d b y t h e m e t h o d d e s c r i b e d

a b o v e a n d t h e l a s t s t a g e i s c a r r i e d o u t t o c a l c u l a t e t h e t o t a l l e n g t h - N F F T o f t h e r e a l d a t a .

I t s h o u l d b e n o t e d t h a t t h e h a l f - l e n g t h F F T d o e s n o t h a v e t o b e c a l c u l a t e d b y a r a d i x - 2

F F T . I n f a c t , i t s h o u l d b e c a l c u l a t e d b y t h e m o s t e c i e n t c o m p l e x - d a t a a l g o r i t h m p o s s i b l e ,

s u c h a s t h e S R F F T o r t h e P F A . T h e s e p a r a t i o n o f t h e t w o h a l f - l e n g t h t r a n s f o r m s a n d t h e

c o m p u t a t i o n o f t h e l a s t s t a g e r e q u i r e s

N −6r e a l m u l t i p l i c a t i o n s a n d

(5/2) N −6r e a l a d d i t i o n s

[ 3 5 9 ] .

I t i s p o s s i b l e t o d e r i v e m o r e e c i e n t r e a l - d a t a a l g o r i t h m s d i r e c t l y r a t h e r t h a n u s i n g a c o m p l e x

F F T . T h e b a s i c i d e a i s f r o m B e r g l a n d [ 2 1 ] , [ 2 2 ] a n d S a n d e [ 3 2 5 ] w h i c h , a t e a c h s t a g e , u s e s

t h e s y m m e t r i e s o f a c o n s t a n t r a d i x C o o l e y - T u k e y F F T t o m i n i m i z e a r i t h m e t i c a n d s t o r a g e .

I n t h e u s u a l d e r i v a t i o n [ 2 7 5 ] o f t h e r a d i x - 2 F F T , t h e l e n g t h - N t r a n s f o r m i s w r i t t e n a s t h e

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 8 / 1 . 7 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

1 3 7

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 144/254

1 3 8

C H A P T E R 1 2 . A L G O R I T H M S F O R D A T A W I T H

R E S T R I C T I O N S

c o m b i n a t i o n o f t h e l e n g t h - N / 2 D F T o f t h e e v e n i n d e x e d d a t a a n d t h e l e n g t h - N / 2 D F T

o f t h e o d d i n d e x e d d a t a . I f t h e i n p u t t o e a c h h a l f - l e n g t h D F T i s r e a l , t h e o u t p u t w i l l

h a v e H e r m i t i a n s y m m e t r y . H e n c e t h e o u t p u t o f e a c h s t a g e c a n b e a r r a n g e d s o t h a t t h e

r e s u l t s o f t h a t s t a g e s t o r e s t h e c o m p l e x D F T w i t h t h e r e a l p a r t l o c a t e d w h e r e h a l f o f t h e

D F T w o u l d h a v e g o n e , a n d t h e i m a g i n a r y p a r t l o c a t e d w h e r e t h e c o n j u g a t e w o u l d h a v e

g o n e . T h i s r e m o v e s m o s t o f t h e r e d u n d a n t c a l c u l a t i o n s a n d s t o r a g e b u t s l i g h t l y c o m p l i c a t e s

t h e a d d r e s s i n g . T h e r e s u l t i n g b u t t e r y s t r u c t u r e f o r t h i s a l g o r i t h m [ 3 5 9 ] r e s e m b l e s t h a t

f o r t h e f a s t H a r t l e y t r a n s f o r m [ 3 5 3 ] . T h e c o m p l e t e a l g o r i t h m h a s o n e h a l f t h e n u m b e r o f

m u l t i p l i c a t i o n s a n d N - 2 f e w e r t h a n h a l f t h e a d d i t i o n s o f t h e b a s i c c o m p l e x F F T . A p p l y i n g

t h i s a p p r o a c h t o t h e s p l i t - r a d i x F F T g i v e s a p a r t i c u l a r l y i n t e r e s t i n g a l g o r i t h m [ 1 0 3 ] , [ 3 5 9 ] ,

[ 1 1 1 ] .

S p e c i a l v e r s i o n s o f b o t h t h e P F A a n d W F T A c a n a l s o b e d e v e l o p e d f o r r e a l d a t a . B e c a u s e t h e

o p e r a t i o n s i n t h e s t a g e s o f t h e P F A c a n b e c o m m u t e d , i t i s p o s s i b l e t o m o v e t h e c o m b i n a t i o n

o f t h e t r a n s f o r m o f t h e r e a l p a r t o f t h e i n p u t a n d i m a g i n a r y p a r t t o t h e l a s t s t a g e . B e c a u s e

t h e i m a g i n a r y p a r t o f t h e i n p u t i s z e r o , h a l f o f t h e a l g o r i t h m i s s i m p l y o m i t t e d . T h i s r e s u l t s

i n t h e n u m b e r o f m u l t i p l i c a t i o n s r e q u i r e d f o r t h e r e a l t r a n s f o r m b e i n g e x a c t l y h a l f o f t h a t

r e q u i r e d f o r c o m p l e x d a t a a n d t h e n u m b e r o f a d d i t i o n s b e i n g a b o u t N l e s s t h a n h a l f t h a t

r e q u i r e d f o r t h e c o m p l e x c a s e b e c a u s e a d d i n g a p u r e r e a l n u m b e r t o a p u r e i m a g i n a r y n u m b e r

d o e s n o t r e q u i r e a n a c t u a l a d d i t i o n . U n f o r t u n a t e l y , t h e i n d e x i n g a n d d a t a t r a n s f e r b e c o m e s

s o m e w h a t m o r e c o m p l i c a t e d [ 1 7 9 ] , [ 3 5 9 ] . A s i m i l a r a p p r o a c h c a n b e t a k e n w i t h t h e W F T A

[ 1 7 9 ] , [ 3 5 9 ] , [ 2 8 4 ] .

1 2 . 2 S p e c i a l A l g o r i t h m s f o r i n p u t D a t a t h a t i s m o s t l y Z e r o ,

f o r C a l c u l a t i n g o n l y a f e w O u t p u t s , o r w h e r e t h e S a m p l i n g

i s n o t U n i f o r m

I n s o m e c a s e s , m o s t o f t h e d a t a t o b e t r a n s f o r m e d a r e z e r o . I t i s c l e a r l y w a s t e f u l t o d o

a r i t h m e t i c o n t h a t z e r o d a t a . A n o t h e r s p e c i a l c a s e i s w h e n o n l y a f e w D F T v a l u e s a r e

n e e d e d . I t i s l i k e w i s e w a s t e f u l t o c a l c u l a t e o u t p u t s t h a t a r e n o t n e e d e d . W e u s e a p r o c e s s

c a l l e d p r u n i n g " t o r e m o v e t h e u n n e e d e d o p e r a t i o n s .

I n o t h e r c a s e s , t h e d a t a a r e n o n - u n i f o r m s a m p l i n g o f a c o n t i n u o u s t i m e s i g n a l [ 1 3 ] .

1 2 . 3 A l g o r i t h m s f o r A p p r o x i m a t e D F T s

T h e r e a r e a p p l i c a t i o n s w h e r e a p p r o x i m a t i o n s t o t h e D F T a r e a l l t h a t i s n e e d e d . [ 1 6 1 ] , [ 1 6 3 ]

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 145/254

C h a p t e r 1 3

C o n v o l u t i o n A l g o r i t h m s

1

1 3 . 1 F a s t C o n v o l u t i o n b y t h e F F T

O n e o f t h e m a i n a p p l i c a t i o n s o f t h e F F T i s t o d o c o n v o l u t i o n m o r e e c i e n t l y t h a n t h e d i r e c t

c a l c u l a t i o n f r o m t h e d e n i t i o n w h i c h i s :

y (n) =

h (m) x (n − m) ( 1 3 . 1 )

w h i c h , w i t h a c h a n g e o f v a r i a b l e s , c a n a l s o b e w r i t t e n a s :

y (n) =

x (m) h (n − m) ( 1 3 . 2 )

T h i s i s o f t e n u s e d t o l t e r a s i g n a l x (n) w i t h a l t e r w h o s e i m p u l s e r e s p o n s e i s h (n) . E a c h

o u t p u t v a l u e y (n) r e q u i r e s N m u l t i p l i c a t i o n s a n d N − 1 a d d i t i o n s i f y (n) a n d h (n) h a v e N t e r m s . S o , f o r N o u t p u t v a l u e s , o n t h e o r d e r o f N 2 a r i t h m e t i c o p e r a t i o n s a r e r e q u i r e d .

B e c a u s e t h e D F T c o n v e r t s c o n v o l u t i o n t o m u l t i p l i c a t i o n :

DF T y (n) = DF T h (n) DF T x (n) ( 1 3 . 3 )

c a n b e c a l c u l a t e d w i t h t h e F F T a n d b r i n g t h e o r d e r o f a r i t h m e t i c o p e r a t i o n s d o w n t o

Nlog (N ) w h i c h c a n b e s i g n i c a n t f o r l a r g e N .

T h i s a p p r o a c h , w h i c h i s c a l l e d f a s t c o n v o l u t i o n s " , i s a f o r m o f b l o c k p r o c e s s i n g s i n c e a w h o l e

b l o c k o r s e g m e n t o f x (n) m u s t b e a v a i l a b l e t o c a l c u l a t e e v e n o n e o u t p u t v a l u e , y (n). S o ,

a t i m e d e l a y o f o n e b l o c k l e n g t h i s a l w a y s r e q u i r e d . A n o t h e r p r o b l e m i s t h e l t e r i n g u s e o f

c o n v o l u t i o n i s u s u a l l y n o n - c y c l i c a n d t h e c o n v o l u t i o n i m p l e m e n t e d w i t h t h e D F T i s c y c l i c .

T h i s i s d e a l t w i t h b y a p p e n d i n g z e r o s t o x (n) a n d h (n) s u c h t h a t t h e o u t p u t o f t h e c y c l i c

c o n v o l u t i o n g i v e s o n e b l o c k o f t h e o u t p u t o f t h e d e s i r e d n o n - c y c l i c c o n v o l u t i o n .

F o r l t e r i n g a n d s o m e o t h e r a p p l i c a t i o n s , o n e w a n t s o n g o i n g " c o n v o l u t i o n w h e r e t h e l t e r

r e s p o n s e h (n) m a y b e n i t e i n l e n g t h o r d u r a t i o n , b u t t h e i n p u t x (n) i s o f a r b i t r a r y l e n g t h .

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 9 / 1 . 1 0 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

1 3 9

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 146/254

1 4 0

C H A P T E R 1 3 . C O N V O L U T I O N A L G O R I T H M S

T w o m e t h o d s h a v e t r a d i t i o n a l l y u s e d t o b r e a k t h e i n p u t i n t o b l o c k s a n d u s e t h e F F T t o c o n -

v o l v e t h e b l o c k s o t h a t t h e o u t p u t t h a t w o u l d h a v e b e e n c a l c u l a t e d b y d i r e c t l y i m p l e m e n t i n g

( 1 3 . 1 ) o r ( 1 3 . 2 ) c a n b e c o n s t r u c t e d e c i e n t l y . T h e s e a r e c a l l e d o v e r l a p - a d d " a n d o v e r - l a p

s a v e " .

1 3 . 1 . 1 F a s t C o n v o l u t i o n b y O v e r l a p - A d d

I n o r d e r t o u s e t h e F F T t o c o n v o l v e ( o r l t e r ) a l o n g i n p u t s e q u e n c e x (n) w i t h a n i t e

l e n g t h - M i m p u l s e r e s p o n s e , h (n) , w e p a r t i t i o n t h e i n p u t s e q u e n c e i n s e g m e n t s o r b l o c k s o f

l e n g t h L. B e c a u s e c o n v o l u t i o n ( o r l t e r i n g ) i s l i n e a r , t h e o u t p u t i s a l i n e a r s u m o f t h e r e s u l t

o f c o n v o l v i n g t h e r s t b l o c k w i t h h (n) p l u s t h e r e s u l t o f c o n v o l v i n g t h e s e c o n d b l o c k w i t h

h (n) , p l u s t h e r e s t . E a c h o f t h e s e b l o c k c o n v o l u t i o n s c a n b e c a l c u l a t e d b y u s i n g t h e F F T .

T h e o u t p u t i s t h e i n v e r s e F F T o f t h e p r o d u c t o f t h e F F T o f x (n) a n d t h e F F T o f h (n) .

S i n c e t h e n u m b e r o f a r i t h m e t i c o p e r a t i o n t o c a l c u l a t e t h e c o n v o l u t i o n d i r e c t l y i s o n t h e o r d e r

o f M 2 a n d , i f d o n e w i t h t h e F F T , i s o n t h e o r d e r o f Mlog (M ), t h e r e c a n b e a g r e a t s a v i n g s

b y u s i n g t h e F F T f o r l a r g e M .

T h e r e a s o n t h i s p r o c e d u r e i s n o t t o t a l l y s t r a i g h t f o r w a r d , i s t h e l e n g t h o f t h e o u t p u t o f

c o n v o l v i n g a l e n g t h - L b l o c k w i t h a l e n g t h - M l t e r i s o f l e n g t h L + M − 1 . T h i s m e a n s t h e

o u t p u t b l o c k s c a n n o t s i m p l y b e c o n c a t e n a t e d b u t m u s t b e o v e r l a p p e d a n d a d d e d , h e n c e t h e

n a m e f o r t h i s a l g o r i t h m i s O v e r l a p - A d d " .

T h e s e c o n d i s s u e t h a t m u s t b e t a k e n i n t o a c c o u n t i s t h e f a c t t h a t t h e o v e r l a p - a d d s t e p s

n e e d n o n - c y c l i c c o n v o l u t i o n a n d c o n v o l u t i o n b y t h e F F T i s c y c l i c . T h i s i s e a s i l y h a n d l e d b y

a p p e n d i n g L

−1 z e r o s t o t h e i m p u l s e r e s p o n s e a n d M

−1 z e r o s t o e a c h i n p u t b l o c k s o t h a t

a l l F F T s a r e o f l e n g t h M + L − 1. T h i s m e a n s t h e r e i s n o a l i a s i n g a n d t h e i m p l e m e n t e d

c y c l i c c o n v o l u t i o n g i v e s t h e s a m e o u t p u t a s t h e d e s i r e d n o n - c y c l i c c o n v o l u t i o n .

T h e s a v i n g s i n a r i t h m e t i c c a n b e c o n s i d e r a b l e w h e n i m p l e m e n t i n g c o n v o l u t i o n o r p e r f o r m i n g

F I R d i g i t a l l t e r i n g . H o w e v e r , t h e r e a r e t w o p e n a l t i e s . T h e u s e o f b l o c k s i n t r o d u c e s a d e l a y

o f o n e b l o c k l e n g t h . N o n e o f t h e r s t b l o c k o f o u t p u t c a n b e c a l c u l a t e d u n t i l a l l o f t h e r s t

b l o c k o f i n p u t i s a v a i l a b l e . T h i s i s n o t a p r o b l e m f o r o l i n e " o r b a t c h " p r o c e s s i n g b u t c a n

b e s e r i o u s f o r r e a l - t i m e p r o c e s s i n g . T h e s e c o n d p e n a l t y i s t h e m e m o r y r e q u i r e d t o s t o r e a n d

p r o c e s s t h e b l o c k s . T h e c o n t i n u i n g r e d u c t i o n o f m e m o r y c o s t o f t e n r e m o v e s t h i s p r o b l e m .

T h e e c i e n c y i n t e r m s o f n u m b e r o f a r i t h m e t i c o p e r a t i o n s p e r o u t p u t p o i n t i n c r e a s e s f o r

l a r g e b l o c k s b e c a u s e o f t h e

Mlog (M )r e q u i r e m e n t s o f t h e F F T . H o w e v e r , t h e b l o c k s b e c o m e

v e r y l a r g e ( L > > M ) , m u c h o f t h e i n p u t b l o c k w i l l b e t h e a p p e n d e d z e r o s a n d e c i e n c y

i s l o s t . F o r a n y p a r t i c u l a r a p p l i c a t i o n , t a k i n g t h e p a r t i c u l a r l t e r a n d F F T a l g o r i t h m b e i n g

u s e d a n d t h e p a r t i c u l a r h a r d w a r e b e i n g u s e d , a p l o t o f e c i e n c y v s . b l o c k l e n g t h , L s h o u l d

b e m a d e a n d L c h o s e n t o m a x i m i z e e c i e n c y g i v e n a n y o t h e r c o n s t r a i n t s t h a t a r e a p p l i c a b l e .

U s u a l l y , t h e b l o c k c o n v o l u t i o n s a r e d o n e b y t h e F F T , b u t t h e y c o u l d b e d o n e b y a n y e f -

c i e n t , n i t e l e n g t h m e t h o d . O n e c o u l d u s e r e c t a n g u l a r t r a n s f o r m s " o r n u m b e r - t h e o r e t i c

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 147/254

1 4 1

t r a n s f o r m s " . A g e n e r a l i z a t i o n o f t h i s m e t h o d i s p r e s e n t e d l a t e r i n t h e n o t e s .

1 3 . 1 . 2 F a s t C o n v o l u t i o n b y O v e r l a p - S a v e

A n a l t e r n a t i v e a p p r o a c h t o t h e O v e r l a p - A d d c a n b e d e v e l o p e d b y s t a r t i n g w i t h s e g m e n t i n g

t h e o u t p u t r a t h e r t h a n t h e i n p u t . I f o n e c o n s i d e r s t h e c a l c u l a t i o n o f a b l o c k o f o u t p u t , i t

i s s e e n t h a t n o t o n l y t h e c o r r e s p o n d i n g i n p u t b l o c k i s n e e d e d , b u t p a r t o f t h e p r e c e d i n g

i n p u t b l o c k a l s o n e e d e d . I n d e e d , o n e c a n s h o w t h a t a l e n g t h M + L − 1 s e g m e n t o f t h e

i n p u t i s n e e d e d f o r e a c h o u t p u t b l o c k . S o , o n e s a v e s t h e l a s t p a r t o f t h e p r e c e d i n g b l o c k a n d

c o n c a t e n a t e s i t w i t h t h e c u r r e n t i n p u t b l o c k , t h e n c o n v o l v e s t h a t w i t h h (n) t o c a l c u l a t e t h e

c u r r e n t o u t p u t

1 3 . 2 B l o c k P r o c e s s i n g , a G e n e r a l i z a t i o n o f O v e r l a p M e t h -

o d s

C o n v o l u t i o n i s i n t i m a t e l y r e l a t e d t o t h e D F T . I t w a s s h o w n i n T h e D F T a s C o n v o l u t i o n o r

F i l t e r i n g ( C h a p t e r 5 ) t h a t a p r i m e l e n g t h D F T c o u l d b e c o n v e r t e d t o c y c l i c c o n v o l u t i o n . I t

h a s b e e n l o n g k n o w n [ 2 7 6 ] t h a t c o n v o l u t i o n c a n b e c a l c u l a t e d b y m u l t i p l y i n g t h e D F T s o f

s i g n a l s .

A n i m p o r t a n t q u e s t i o n i s w h a t i s t h e f a s t e s t m e t h o d f o r c a l c u l a t i n g d i g i t a l c o n v o l u t i o n .

T h e r e a r e s e v e r a l m e t h o d s t h a t e a c h h a v e s o m e a d v a n t a g e . T h e e a r l i e s t m e t h o d f o r f a s t

c o n v o l u t i o n w a s t h e u s e o f s e c t i o n i n g w i t h o v e r l a p - a d d o r o v e r l a p - s a v e a n d t h e F F T [ 2 7 6 ] ,

[ 3 0 0 ] , [ 6 6 ] . I n m o s t c a s e s t h e c o n v o l u t i o n i s o f r e a l d a t a a n d , t h e r e f o r e , r e a l - d a t a F F T s

s h o u l d b e u s e d . T h a t a p p r o a c h i s s t i l l p r o b a b l y t h e f a s t e s t m e t h o d f o r l o n g e r c o n v o l u t i o n

o n a g e n e r a l p u r p o s e c o m p u t e r o r m i c r o p r o c e s s o r . T h e s h o r t e r c o n v o l u t i o n s s h o u l d s i m p l y

b e c a l c u l a t e d d i r e c t l y .

1 3 . 3 I n t r o d u c t i o n

T h e p a r t i t i o n i n g o f l o n g o r i n n i t e s t r i n g s o f d a t a i n t o s h o r t e r s e c t i o n s o r b l o c k s h a s b e e n

u s e d t o a l l o w a p p l i c a t i o n o f t h e F F T t o r e a l i z e o n - g o i n g o r c o n t i n u o u s c o n v o l u t i o n [ 3 6 8 ] ,

[ 1 8 1 ] . T h i s s e c t i o n d e v e l o p s t h e i d e a o f b l o c k p r o c e s s i n g a n d s h o w s t h a t i t i s a g e n e r a l i z a t i o n

o f t h e o v e r l a p - a d d a n d o v e r l a p - s a v e m e t h o d s [ 3 6 8 ] , [ 1 4 7 ] . T h e y f u r t h e r g e n e r a l i z e t h e i d e a t o

a m u l t i d i m e n s i o n a l f o r m u l a t i o n o f c o n v o l u t i o n [ 3 ] , [ 4 7 ] . M o v i n g i n t h e o p p o s i t e d i r e c t i o n , i t

i s s h o w n t h a t , r a t h e r t h a n p a r t i t i o n i n g a s t r i n g o f s c a l a r s i n t o b l o c k s a n d t h e n i n t o b l o c k s o f

b l o c k s , o n e c a n p a r t i t i o n a s c a l a r n u m b e r i n t o b l o c k s o f b i t s a n d t h e n i n c l u d e t h e o p e r a t i o n

o f m u l t i p l i c a t i o n i n t h e s i g n a l p r o c e s s i n g f o r m u l a t i o n . T h i s i s c a l l e d d i s t r i b u t e d a r i t h m e t i c

[ 4 5 ] a n d , s i n c e i t d e s c r i b e s o p e r a t i o n s a t t h e b i t l e v e l , i s c o m p l e t e l y g e n e r a l . T h e s e n o t e s t r y

t o p r e s e n t a c o h e r e n t d e v e l o p m e n t o f t h e s e i d e a s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 148/254

1 4 2

C H A P T E R 1 3 . C O N V O L U T I O N A L G O R I T H M S

1 3 . 4 B l o c k S i g n a l P r o c e s s i n g

I n t h i s s e c t i o n t h e u s u a l c o n v o l u t i o n a n d r e c u r s i o n t h a t i m p l e m e n t s F I R a n d I I R d i s c r e t e -

t i m e l t e r s a r e r e f o r m u l a t e d i n t e r m s o f v e c t o r s a n d m a t r i c e s . B e c a u s e t h e s a m e d a t a i s

p a r t i t i o n e d a n d g r o u p e d i n a v a r i e t y o f w a y s , i t i s i m p o r t a n t t o h a v e a c o n s i s t e n t n o t a t i o n

i n o r d e r t o b e c l e a r . T h e nthe l e m e n t o f a d a t a s e q u e n c e i s e x p r e s s e d h (n) o r , i n s o m e c a s e s

t o s i m p l i f y , hn . A b l o c k o r n i t e l e n g t h c o l u m n v e c t o r i s d e n o t e d hn w i t h n i n d i c a t i n g t h e

nthb l o c k o r s e c t i o n o f a l o n g e r v e c t o r . A m a t r i x , s q u a r e o r r e c t a n g u l a r , i s i n d i c a t e d b y a n

u p p e r c a s e l e t t e r s u c h a s H w i t h a s u b s c r i p t i f a p p r o p r i a t e .

1 3 . 4 . 1 B l o c k C o n v o l u t i o n

T h e o p e r a t i o n o f a n i t e i m p u l s e r e s p o n s e ( F I R ) l t e r i s d e s c r i b e d b y a n i t e c o n v o l u t i o n a s

y (n) =L−1k=0

h (k) x (n − k) ( 1 3 . 4 )

w h e r e x (n) i s c a u s a l , h (n) i s c a u s a l a n d o f l e n g t h L, a n d t h e t i m e i n d e x n g o e s f r o m z e r o

t o i n n i t y o r s o m e l a r g e v a l u e . W i t h a c h a n g e o f i n d e x v a r i a b l e s t h i s b e c o m e s

y (n) =

h (n − k) x (k) ( 1 3 . 5 )

w h i c h c a n b e e x p r e s s e d a s a m a t r i x o p e r a t i o n b y

y0

y1

y2.

.

.

=

h0 0 0

· · ·0

h1 h0 0

h2 h1 h0

.

.

.

.

.

.

x0

x1

x2

.

.

.

. ( 1 3 . 6 )

T h e H m a t r i x o f i m p u l s e r e s p o n s e v a l u e s i s p a r t i t i o n e d i n t o N b y N s q u a r e s u b m a t r i c e s

a n d t h e X a n d Y v e c t o r s a r e p a r t i t i o n e d i n t o l e n g t h - N b l o c k s o r s e c t i o n s . T h i s i s i l l u s t r a t e d

f o r N = 3 b y

H 0 =

h0 0 0

h1 h0 0h2 h1 h0

H 1 =

h3 h2 h1

h4 h3 h2

h5 h4 h3

e t c . ( 1 3 . 7 )

x0 =

x0

x1

x2

x1 =

x3

x4

x5

y

0=

y0

y1

y2

e t c . ( 1 3 . 8 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 149/254

1 4 3

S u b s t i t u t i n g t h e s e d e n i t i o n s i n t o ( 1 3 . 6 ) g i v e s

y0

y1

y2

.

.

.

=

H 0 0 0

· · ·0

H 1 H 0 0

H 2 H 1 H 0.

.

.

.

.

.

x0

x1

x2

.

.

.

( 1 3 . 9 )

T h e g e n e r a l e x p r e s s i o n f o r t h e ntho u t p u t b l o c k i s

yn

=n

k=0

H n−k xk ( 1 3 . 1 0 )

w h i c h i s a v e c t o r o r b l o c k c o n v o l u t i o n . S i n c e t h e m a t r i x - v e c t o r m u l t i p l i c a t i o n w i t h i n t h e

b l o c k c o n v o l u t i o n i s i t s e l f a c o n v o l u t i o n , ( 1 3 . 1 0 ) i s a s o r t o f c o n v o l u t i o n o f c o n v o l u t i o n s a n d

t h e n i t e l e n g t h m a t r i x - v e c t o r m u l t i p l i c a t i o n c a n b e c a r r i e d o u t u s i n g t h e F F T o r o t h e r f a s t

c o n v o l u t i o n m e t h o d s .

T h e e q u a t i o n f o r o n e o u t p u t b l o c k c a n b e w r i t t e n a s t h e p r o d u c t

y2

= [H 2H 1H 0]

x0

x1

x2

( 1 3 . 1 1 )

a n d t h e e e c t s o f o n e i n p u t b l o c k c a n b e w r i t t e n

H 0

H 1

H 2

x1 =

y0

y1

y2

. ( 1 3 . 1 2 )

T h e s e a r e g e n e r a l i z e s t a t e m e n t s o f o v e r l a p s a v e a n d o v e r l a p a d d [ 3 6 8 ] , [ 1 4 7 ] . T h e b l o c k

l e n g t h c a n b e l o n g e r , s h o r t e r , o r e q u a l t o t h e l t e r l e n g t h .

1 3 . 4 . 2 B l o c k R e c u r s i o n

A l t h o u g h l e s s w e l l - k n o w n , I I R l t e r s c a n a l s o b e i m p l e m e n t e d w i t h b l o c k p r o c e s s i n g [ 1 4 5 ] ,

[ 7 4 ] , [ 3 9 6 ] , [ 4 3 ] , [ 4 4 ] . T h e b l o c k f o r m o f a n I I R l t e r i s d e v e l o p e d i n m u c h t h e s a m e w a y a s

f o r t h e b l o c k c o n v o l u t i o n i m p l e m e n t a t i o n o f t h e F I R l t e r . T h e g e n e r a l c o n s t a n t c o e c i e n t

d i e r e n c e e q u a t i o n w h i c h d e s c r i b e s a n I I R l t e r w i t h r e c u r s i v e c o e c i e n t s al , c o n v o l u t i o n

c o e c i e n t s bk , i n p u t s i g n a l x (n) , a n d o u t p u t s i g n a l y (n) i s g i v e n b y

y (n) =N −1l=1

al yn−l +M −1k=0

bk xn−k ( 1 3 . 1 3 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 150/254

1 4 4

C H A P T E R 1 3 . C O N V O L U T I O N A L G O R I T H M S

u s i n g b o t h f u n c t i o n a l n o t a t i o n a n d s u b s c r i p t s , d e p e n d i n g o n w h i c h i s e a s i e r a n d c l e a r e r .

T h e i m p u l s e r e s p o n s e h (n) i s

h (n) =N −1l=1

al h (n − l) +M −1k=0

bk δ (n − k) ( 1 3 . 1 4 )

w h i c h c a n b e w r i t t e n i n m a t r i x o p e r a t o r f o r m

1 0 0 · · · 0

a1 1 0

a2 a1 1

a3 a2 a1

0 a3 a2

.

.

.

.

.

.

h0

h1

h2

h3

h4

.

.

.

=

b0

b1

b2

b3

0.

.

.

( 1 3 . 1 5 )

I n t e r m s o f N b y N s u b m a t r i c e s a n d l e n g t h - N b l o c k s , t h i s b e c o m e s

A0 0 0 · · · 0

A1 A0 0

0 A1 A0

.

.

.

.

.

.

h0

h1

h2

.

.

.

=

b0

b1

0.

.

.

( 1 3 . 1 6 )

F r o m t h i s f o r m u l a t i o n , a b l o c k r e c u r s i v e e q u a t i o n c a n b e w r i t t e n t h a t w i l l g e n e r a t e t h e

i m p u l s e r e s p o n s e b l o c k b y b l o c k .

A0 hn + A1 hn−1 = 0 f o r n ≥ 2 ( 1 3 . 1 7 )

hn = −A−10 A1 hn−1 = K hn−1 f o r n ≥ 2 ( 1 3 . 1 8 )

w i t h i n i t i a l c o n d i t i o n s g i v e n b y

h1 = −A−10 A1A−1

0 b0 + A−10 b1 ( 1 3 . 1 9 )

T h i s c a n a l s o b e w r i t t e n t o g e n e r a t e t h e s q u a r e p a r t i t i o n s o f t h e i m p u l s e r e s p o n s e m a t r i x

b y

H n = KH n−1 f o r n ≥ 2 ( 1 3 . 2 0 )

w i t h i n i t i a l c o n d i t i o n s g i v e n b y

H 1 = KA−10 B0 + A−1

0 B1 ( 1 3 . 2 1 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 151/254

1 4 5

a n e K = −A−10 A1 . T h i s r e c u r s i v e l y g e n e r a t e s s q u a r e s u b m a t r i c e s o f H s i m i l a r t o t h o s e

d e n e d i n ( 1 3 . 7 ) a n d ( 1 3 . 9 ) a n d s h o w s t h e b a s i c s t r u c t u r e o f t h e d y n a m i c s y s t e m .

N e x t , w e d e v e l o p t h e r e c u r s i v e f o r m u l a t i o n f o r a g e n e r a l i n p u t a s d e s c r i b e d b y t h e s c a l a r

d i e r e n c e e q u a t i o n ( 1 3 . 1 4 ) a n d i n m a t r i x o p e r a t o r f o r m b y

1 0 0 · · · 0

a1 1 0

a2 a1 1

a3 a2 a1

0 a3 a2

.

.

.

.

.

.

y0

y1

y2

y3

y4.

.

.

=

b0 0 0 · · · 0

b1 b0 0

b2 b1 b0

0 b2 b1

0 0 b2.

.

.

.

.

.

x0

x1

x2

x3

x4

.

.

.

( 1 3 . 2 2 )

w h i c h , a f t e r s u b s t i t u t i n g t h e d e n i t i o n s o f t h e s u b m a t r i c e s a n d a s s u m i n g t h e b l o c k l e n g t h

i s l a r g e r t h a n t h e o r d e r o f t h e n u m e r a t o r o r d e n o m i n a t o r , b e c o m e s

A0 0 0 · · · 0

A1 A0 0

0 A1 A0

.

.

.

.

.

.

y0

y1

y2

.

.

.

=

B0 0 0 · · · 0

B1 B0 0

0 B1 B0

.

.

.

.

.

.

x0

x1

x2

.

.

.

. ( 1 3 . 2 3 )

F r o m t h e p a r t i t i o n e d r o w s o f ( 1 3 . 2 4 ) , o n e c a n w r i t e t h e b l o c k r e c u r s i v e r e l a t i o n

A0 yn+1

+ A1 yn

= B0 xn+1 + B1 xn ( 1 3 . 2 4 )

S o l v i n g f o r yn+1

g i v e s

yn+1

= −A−10 A1 y

n+ A−1

0 B0 xn+1 + A−10 B1 xn ( 1 3 . 2 5 )

yn+1

= K yn

+ H 0 xn+1 + H 1 xn ( 1 3 . 2 6 )

w h i c h i s a r s t o r d e r v e c t o r d i e r e n c e e q u a t i o n [ 4 3 ] , [ 4 4 ] . T h i s i s t h e f u n d a m e n t a l b l o c k

r e c u r s i v e a l g o r i t h m t h a t i m p l e m e n t s t h e o r i g i n a l s c a l a r d i e r e n c e e q u a t i o n i n ( 1 3 . 1 4 ) . I t h a s

s e v e r a l i m p o r t a n t c h a r a c t e r i s t i c s .

• T h e b l o c k r e c u r s i v e f o r m u l a t i o n i s s i m i l a r t o a s t a t e v a r i a b l e e q u a t i o n b u t t h e s t a t e s

a r e b l o c k s o r s e c t i o n s o f t h e o u t p u t [ 4 4 ] , [ 2 2 0 ] , [ 4 2 7 ] , [ 4 2 8 ] .

• T h e e i g e n v a l u e s o f K a r e t h e p o l e s o f t h e o r i g i n a l s c a l a r p r o b l e m r a i s e d t o t h e N p o w e r

p l u s o t h e r s t h a t a r e z e r o . T h e l o n g e r t h e b l o c k l e n g t h , t h e m o r e s t a b l e " t h e l t e r i s ,

i . e . t h e f u r t h e r t h e p o l e s a r e f r o m t h e u n i t c i r c l e [ 4 3 ] , [ 4 4 ] , [ 4 2 7 ] , [ 1 5 ] , [ 1 6 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 152/254

1 4 6

C H A P T E R 1 3 . C O N V O L U T I O N A L G O R I T H M S

• I f t h e b l o c k l e n g t h w e r e s h o r t e r t h a n t h e d e n o m i n a t o r , t h e v e c t o r d i e r e n c e e q u a t i o n

w o u l d b e h i g h e r t h a n r s t o r d e r . T h e r e w o u l d b e a n o n z e r o A2 . I f t h e b l o c k l e n g t h

w e r e s h o r t e r t h a n t h e n u m e r a t o r , t h e r e w o u l d b e a n o n z e r o B2 a n d a h i g h e r o r d e r

b l o c k c o n v o l u t i o n o p e r a t i o n . I f t h e b l o c k l e n g t h w e r e o n e , t h e o r d e r o f t h e v e c t o r

e q u a t i o n w o u l d b e t h e s a m e a s t h e s c a l a r e q u a t i o n . T h e y w o u l d b e t h e s a m e e q u a t i o n .

• T h e a c t u a l a r i t h m e t i c t h a t g o e s i n t o t h e c a l c u l a t i o n o f t h e o u t p u t i s p a r t l y r e c u r s i v e

a n d p a r t l y c o n v o l u t i o n . T h e l o n g e r t h e b l o c k , t h e m o r e t h e o u t p u t i s c a l c u l a t e d b y

c o n v o l u t i o n a n d , t h e m o r e a r i t h m e t i c i s r e q u i r e d .

• I t i s p o s s i b l e t o r e m o v e t h e z e r o e i g e n v a l u e s i n K b y m a k i n g K r e c t a n g u l a r o r s q u a r e

a n d N b y N T h i s r e s u l t s i n a f o r m e v e n m o r e s i m i l a r t o a s t a t e v a r i a b l e f o r m u l a t i o n

[ 2 4 0 ] , [ 4 4 ] . T h i s i s b r i e y d i s c u s s e d b e l o w i n s e c t i o n 2 . 3 .

• T h e r e a r e s e v e r a l w a y s o f u s i n g t h e F F T i n t h e c a l c u l a t i o n o f t h e v a r i o u s m a t r i x

p r o d u c t s i n ( 1 3 . 2 5 ) a n d i n ( 1 3 . 2 7 ) a n d ( 1 3 . 2 8 ) . E a c h h a s s o m e a r i t h m e t i c a d v a n t a g e

f o r v a r i o u s f o r m s a n d o r d e r s o f t h e o r i g i n a l e q u a t i o n . I t i s a l s o p o s s i b l e t o i m p l e m e n t

s o m e o f t h e o p e r a t i o n s u s i n g r e c t a n g u l a r t r a n s f o r m s , n u m b e r t h e o r e t i c t r a n s f o r m s ,

d i s t r i b u t e d a r i t h m e t i c , o r o t h e r e c i e n t c o n v o l u t i o n a l g o r i t h m s [ 4 4 ] , [ 4 2 7 ] , [ 5 4 ] , [ 4 8 ] ,

[ 4 2 6 ] , [ 2 8 6 ] .

• B y c h o o s i n g t h e b l o c k l e n g t h e q u a l t o t h e p e r i o d , a p e r i o d i c a l l y t i m e v a r y i n g l t e r c a n

b e m a d e b l o c k t i m e i n v a r i a n t . I n o t h e r w o r d s , a l l t h e t i m e v a r y i n g c h a r a c t e r i s t i c s a r e

m o v e d t o t h e n i t e m a t r i x m u l t i p l i e s w h i c h l e a v e t h e t i m e i n v a r i a n t p r o p e r t i e s a t t h e

b l o c k l e v e l . T h i s a l l o w s u s e o f z - t r a n s f o r m a n d o t h e r t i m e - i n v a r i a n t m e t h o d s t o b e

u s e d f o r s t a b i l i t y a n a l y s i s a n d f r e q u e n c y r e s p o n s e a n a l y s i s [ 2 4 4 ] , [ 2 4 5 ] . I t a l s o t u r n s

o u t t o b e r e l a t e d t o l t e r b a n k s a n d m u l t i - r a t e l t e r s [ 2 2 2 ] , [ 2 2 1 ] , [ 9 7 ] .

1 3 . 4 . 3 B l o c k S t a t e F o r m u l a t i o n

I t i s p o s s i b l e t o r e d u c e t h e s i z e o f t h e m a t r i x o p e r a t o r s i n t h e b l o c k r e c u r s i v e d e s c r i p t i o n

( 1 3 . 2 6 ) t o g i v e a f o r m e v e n m o r e l i k e a s t a t e v a r i a b l e e q u a t i o n [ 2 4 0 ] , [ 4 4 ] , [ 4 2 8 ] . I f K i n

( 1 3 . 2 6 ) h a s s e v e r a l z e r o e i g e n v a l u e s , i t s h o u l d b e p o s s i b l e t o r e d u c e t h e s i z e o f K u n t i l i t h a s

f u l l r a n k . T h a t w a s d o n e i n [ 4 4 ] a n d t h e r e s u l t i s

z n = K 1 z n−1 + K 2 xn ( 1 3 . 2 7 )

yn

= H 1 z n−1 + H 0 xn ( 1 3 . 2 8 )

w h e r e H 0 i s t h e s a m e N b y N c o n v o l u t i o n m a t r i x , N 1 i s a r e c t a n g u l a r L b y N p a r t i t i o n o f

t h e c o n v o l u t i o n m a t r i x H , K 1 i s a s q u a r e N b y N m a t r i x o f f u l l r a n k , a n d K 2 i s a r e c t a n g u l a r

N b y L m a t r i x .

T h i s i s n o w a m i n i m a l s t a t e e q u a t i o n w h o s e i n p u t a n d o u t p u t a r e b l o c k s o f t h e o r i g i n a l i n p u t

a n d o u t p u t . S o m e o f t h e m a t r i x m u l t i p l i c a t i o n s c a n b e c a r r i e d o u t u s i n g t h e F F T o r o t h e r

t e c h n i q u e s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 153/254

1 4 7

1 3 . 4 . 4 B l o c k I m p l e m e n t a t i o n s o f D i g i t a l F i l t e r s

T h e a d v a n t a g e o f t h e b l o c k c o n v o l u t i o n a n d r e c u r s i o n i m p l e m e n t a t i o n s i s a p o s s i b l e i m p r o v e -

m e n t i n a r i t h m e t i c e c i e n c y b y u s i n g t h e F F T o r o t h e r f a s t c o n v o l u t i o n m e t h o d s f o r s o m e o f

t h e m u l t i p l i c a t i o n s i n ( 1 3 . 1 0 ) o r ( 1 3 . 2 5 ) [ 2 4 6 ] , [ 2 4 7 ] . T h e r e i s t h e r e d u c t i o n o f q u a n t i z a t i o n

e e c t s d u e t o a n e e c t i v e d e c r e a s e i n t h e m a g n i t u d e o f t h e e i g e n v a l u e s a n d t h e p o s s i b i l i t y o f

e a s i e r p a r a l l e l i m p l e m e n t a t i o n f o r I I R l t e r s . T h e d i s a d v a n t a g e s a r e a d e l a y o f a t l e a s t o n e

b l o c k l e n g t h a n d a n i n c r e a s e d m e m o r y r e q u i r e m e n t .

T h e s e m e t h o d s c o u l d a l s o b e u s e d i n t h e v a r i o u s l t e r i n g m e t h o d s f o r e v a l u a t i n g t h e D F T .

T h i s t h e c h i r p z - t r a n s f o r m , R a d e r ' s m e t h o d , a n d G o e r t z e l ' s a l g o r i t h m .

1 3 . 4 . 5 M u l t i d i m e n s i o n a l F o r m u l a t i o n

T h i s p r o c e s s o f p a r t i t i o n i n g t h e d a t a v e c t o r s a n d t h e o p e r a t o r m a t r i c e s c a n b e c o n t i n u e d b y

p a r t i t i o n i n g ( 1 3 . 1 0 ) a n d ( 1 3 . 2 4 ) a n d c r e a t i n g b l o c k s o f b l o c k s t o g i v e a h i g h e r d i m e n s i o n a l

s t r u c t u r e . O n e s h o u l d u s e i n d e x m a p p i n g i d e a s r a t h e r t h a n p a r t i t i o n e d m a t r i c e s f o r t h i s

a p p r o a c h [ 3 ] , [ 4 7 ] .

1 3 . 4 . 6 P e r i o d i c a l l y T i m e - V a r y i n g D i s c r e t e - T i m e S y s t e m s

M o s t t i m e - v a r y i n g s y s t e m s a r e p e r i o d i c a l l y t i m e - v a r y i n g a n d t h i s a l l o w s s p e c i a l r e s u l t s t o b e

o b t a i n e d . I f t h e b l o c k l e n g t h i s s e t e q u a l t o t h e p e r i o d o f t h e t i m e v a r i a t i o n s , t h e r e s u l t i n g

b l o c k e q u a t i o n s a r e t i m e i n v a r i a n t a n d a l l t o t h e t i m e v a r y i n g c h a r a c t e r i s t i c s a r e c o n t a i n e d

i n t h e m a t r i x m u l t i p l i c a t i o n s . T h i s a l l o w s s o m e o f t h e t o o l s o f t i m e i n v a r i a n t s y s t e m s t o b e

u s e d o n p e r i o d i c a l l y t i m e - v a r y i n g s y s t e m s .

T h e P T V s y s t e m i s a n a l y z e d i n [ 4 2 5 ] , [ 9 7 ] , [ 8 1 ] , [ 2 4 4 ] , t h e l t e r a n a l y s i s a n d d e s i g n p r o b l e m ,

w h i c h i n c l u d e s t h e d e c i m a t i o n i n t e r p o l a t i o n s t r u c t u r e , i s a d d r e s s e d i n [ 1 2 6 ] , [ 2 4 5 ] , [ 2 2 2 ] , a n d

t h e b a n d w i d t h c o m p r e s s i o n p r o b l e m i n [ 2 2 1 ] . T h e s e s t r u c t u r e s c a n t a k e t h e f o r m o f l t e r

b a n k s [ 3 8 7 ] .

1 3 . 4 . 7 M u l t i r a t e F i l t e r s , F i l t e r B a n k s , a n d W a v e l e t s

A n o t h e r a r e a t h a t i s r e l a t e d t o p e r i o d i c a l l y t i m e v a r y i n g s y s t e m s a n d t o b l o c k p r o c e s s i n g

i s l t e r b a n k s [ 3 8 7 ] , [ 1 5 2 ] . R e c e n t l y t h e a r e a o f p e r f e c t r e c o n s t r u c t i o n l t e r b a n k s h a s b e e n

f u r t h e r d e v e l o p e d a n d s h o w n t o b e c l o s e l y r e l a t e d t o w a v e l e t b a s e d s i g n a l a n a l y s i s [ 9 7 ] , [ 9 9 ] ,

[ 1 5 1 ] , [ 3 8 7 ] . T h e l t e r b a n k s t r u c t u r e h a s s e v e r a l f o r m s w i t h t h e p o l y p h a s e a n d l a t t i c e b e i n g

p a r t i c u l a r l y i n t e r e s t i n g .

A n i d e a t h a t h a s s o m e e l e m e n t s o f m u l t i r a t e l t e r s , p e r f e c t r e c o n s t r u c t i o n , a n d d i s t r i b u t e d

a r i t h m e t i c i s g i v e n i n [ 1 4 2 ] , [ 1 4 0 ] , [ 1 4 1 ] . P a r k s h a s n o t e d t h a t d e s i g n o f m u l t i r a t e l t e r s h a s

s o m e e l e m e n t s i n c o m m o n w i t h c o m p l e x a p p r o x i m a t i o n a n d o f 2 - D l t e r d e s i g n [ 3 3 7 ] , [ 3 3 8 ]

a n d i s l o o k i n g a t u s i n g T a n g ' s m e t h o d f o r t h e s e d e s i g n s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 154/254

1 4 8

C H A P T E R 1 3 . C O N V O L U T I O N A L G O R I T H M S

1 3 . 4 . 8 D i s t r i b u t e d A r i t h m e t i c

R a t h e r t h a n g r o u p i n g t h e i n d i v i d u a l s c a l a r d a t a v a l u e s i n a d i s c r e t e - t i m e s i g n a l i n t o b l o c k s ,

t h e s c a l a r v a l u e s c a n b e p a r t i t i o n e d i n t o g r o u p s o f b i t s . B e c a u s e m u l t i p l i c a t i o n o f i n t e g e r s ,

m u l t i p l i c a t i o n o f p o l y n o m i a l s , a n d d i s c r e t e - t i m e c o n v o l u t i o n a r e t h e s a m e o p e r a t i o n s , t h e b i t -

l e v e l d e s c r i p t i o n o f m u l t i p l i c a t i o n c a n b e m i x e d w i t h t h e c o n v o l u t i o n o f t h e s i g n a l p r o c e s s i n g .

T h e r e s u l t i n g s t r u c t u r e i s c a l l e d d i s t r i b u t e d a r i t h m e t i c [ 4 5 ] , [ 4 0 2 ] . I t c a n b e u s e d t o c r e a t e

a n e c i e n t t a b l e l o o k - u p s c h e m e t o i m p l e m e n t a n F I R o r I I R l t e r u s i n g n o m u l t i p l i c a t i o n s

b y f e t c h i n g p r e v i o u s l y c a l c u l a t e d p a r t i a l p r o d u c t s w h i c h a r e s t o r e d i n a t a b l e . D i s t r i b u t e d

a r i t h m e t i c , b l o c k p r o c e s s i n g , a n d m u l t i - d i m e n s i o n a l f o r m u l a t i o n s c a n b e c o m b i n e d i n t o a n

i n t e g r a t e d p o w e r f u l d e s c r i p t i o n t o i m p l e m e n t d i g i t a l l t e r s a n d p r o c e s s o r s . T h e r e m a y b e a

n e w f o r m o f d i s t r i b u t e d a r i t h m e t i c u s i n g t h e i d e a s i n [ 1 4 0 ] , [ 1 4 1 ] .

1 3 . 5 D i r e c t F a s t C o n v o l u t i o n a n d R e c t a n g u l a r T r a n s f o r m s

A r e l a t i v e l y n e w a p p r o a c h u s e s i n d e x m a p p i n g d i r e c t l y t o c o n v e r t a o n e d i m e n s i o n a l c o n -

v o l u t i o n i n t o a m u l t i d i m e n s i o n a l c o n v o l u t i o n [ 4 7 ] , [ 8 ] . T h i s c a n b e d o n e b y e i t h e r a t y p e - 1

o r t y p e - 2 m a p . T h e s h o r t c o n v o l u t i o n s a l o n g e a c h d i m e n s i o n a r e t h e n d o n e b y W i n o g r a d ' s

o p t i m a l a l g o r i t h m s . U n l i k e f o r t h e c a s e o f t h e D F T , t h e r e i s n o s a v i n g s o f a r i t h m e t i c f r o m

t h e i n d e x m a p p i n g a l o n e . A l l t h e s a v i n g s c o m e s f r o m e c i e n t s h o r t a l g o r i t h m s . I n t h e c a s e

o f i n d e x m a p p i n g w i t h c o n v o l u t i o n , t h e m u l t i p l i c a t i o n s m u s t b e n e s t e d t o g e t h e r i n t h e c e n -

t e r o f t h e a l g o r i t h m i n t h e s a m e w a y a s f o r t h e W F T A . T h e r e i s n o e q u i v a l e n t t o t h e P F A

s t r u c t u r e f o r c o n v o l u t i o n . T h e m u l t i d i m e n s i o n a l c o n v o l u t i o n c a n n o t b e c a l c u l a t e d b y r o w

a n d c o l u m n c o n v o l u t i o n s a s t h e D F T w a s b y r o w a n d c o l u m n D F T s .

I t w o u l d r s t s e e m t h a t a p p l y i n g t h e i n d e x m a p p i n g a n d o p t i m a l s h o r t a l g o r i t h m s d i r e c t l y

t o c o n v o l u t i o n w o u l d b e m o r e e c i e n t t h a n u s i n g D F T s a n d c o n v e r t i n g t h e m t o c o n v o l u t i o n

t o b e c a l c u l a t e d b y t h e s a m e o p t i m a l a l g o r i t h m s . I n p r a c t i c a l a l g o r i t h m s , h o w e v e r , t h e D F T

m e t h o d s e e m s t o b e m o r e e c i e n t [ 2 8 6 ] .

A m e t h o d t h a t i s a t t r a c t i v e f o r s p e c i a l p u r p o s e h a r d w a r e u s e s d i s t r i b u t e d a r i t h m e t i c [ 4 5 ] .

T h i s a p p r o a c h u s e s a t a b l e l o o k u p o f p r e c o m p u t e d p a r t i a l p r o d u c t s t o p r o d u c e a s y s t e m

t h a t d o e s c o n v o l u t i o n w i t h o u t r e q u i r i n g m u l t i p l i c a t i o n s [ 7 9 ] .

A n o t h e r m e t h o d t h a t r e q u i r e s s p e c i a l h a r d w a r e u s e s n u m b e r t h e o r e t i c t r a n s f o r m s [ 3 1 ] , [ 2 3 7 ] ,

[ 2 6 5 ] t o c a l c u l a t e c o n v o l u t i o n . T h e s e t r a n s f o r m s a r e d e n e d o v e r n i t e e l d s o r r i n g s w i t h

a r i t h m e t i c p e r f o r m e d m o d u l o s p e c i a l n u m b e r s . T h e s e t r a n s f o r m s h a v e r a t h e r l i m i t e d e x i -

b i l i t y , b u t w h e n t h e y c a n b e u s e d , t h e y a r e v e r y e c i e n t .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 155/254

1 4 9

1 3 . 6 N u m b e r T h e o r e t i c T r a n s f o r m s f o r C o n v o l u t i o n

1 3 . 6 . 1 R e s u l t s f r o m N u m b e r T h e o r y

A b a s i c r e v i e w o f t h e n u m b e r t h e o r y u s e f u l f o r s i g n a l p r o c e s s i n g a l g o r i t h m s w i l l b e g i v e n

h e r e w i t h s p e c i c e m p h a s i s o n t h e c o n g r u e n c e t h e o r y f o r n u m b e r t h e o r e t i c t r a n s f o r m s [ 2 7 9 ] ,

[ 1 6 5 ] , [ 2 6 0 ] , [ 2 3 7 ] , [ 3 2 8 ] .

1 3 . 6 . 2 N u m b e r T h e o r e t i c T r a n s f o r m s

H e r e w e l o o k a t t h e c o n d i t i o n s p l a c e d o n a g e n e r a l l i n e a r t r a n s f o r m i n o r d e r f o r i t t o s u p p o r t

c y c l i c c o n v o l u t i o n . T h e f o r m o f a l i n e a r t r a n s f o r m a t i o n o f a l e n g t h - N s e q u e n c e o f n u m b e r i s

g i v e n b y

X (k) =N −1n=0

t (n, k) x (n) ( 1 3 . 2 9 )

f o r k = 0, 1, · · · , (N − 1) . T h e d e n i t i o n o f c y c l i c c o n v o l u t i o n o f t w o s e q u e n c e s i s g i v e n b y

y (n) =N −1m=0

x (m) h (n − m) ( 1 3 . 3 0 )

f o r n = 0, 1, · · · , (N − 1) a n d a l l i n d i c e s e v a l u a t e d m o d u l o N . W e w o u l d l i k e t o n d t h e

p r o p e r t i e s o f t h e t r a n s f o r m a t i o n s u c h t h a t i t w i l l s u p p o r t t h e c y c l i c c o n v o l u t i o n . T h i s m e a n s

t h a t i f X (k), H (k) , a n d Y (k) a r e t h e t r a n s f o r m s o f x (n), h (n) , a n d y (n) r e s p e c t i v e l y ,

Y (k) = X (k) H (k) . ( 1 3 . 3 1 )

T h e c o n d i t i o n s a r e d e r i v e d b y t a k i n g t h e t r a n s f o r m d e n e d i n ( 1 3 . 4 ) o f b o t h s i d e s o f e q u a t i o n

( 1 3 . 5 ) w h i c h g i v e s

Y (k) =N −1n=0

t (n, k)N −1m=0

x (m) h (n − m) ( 1 3 . 3 2 )

=

N −1

m=0

N −1

n=0x (m) h (n − m) t (n, k) . ( 1 3 . 3 3 )

M a k i n g t h e c h a n g e o f i n d e x v a r i a b l e s , l = n − m, g i v e s

=N −1m=0

N −1l=0

x (m) h (l) t (l + m, k) . ( 1 3 . 3 4 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 156/254

1 5 0

C H A P T E R 1 3 . C O N V O L U T I O N A L G O R I T H M S

B u t f r o m ( 1 3 . 6 ) , t h i s m u s t b e

Y (k) =

N −1n=0

x (n) t (n, k)

N −1m=0

x (m) t (m, k)( 1 3 . 3 5 )

=N −1m=0

N −1l=0

x (m) h (l) t (n, k) t (l, k) . ( 1 3 . 3 6 )

T h i s m u s t b e t r u e f o r a l l x (n) , h (n), a n d k , t h e r e f o r e f r o m ( 1 3 . 9 ) a n d ( 1 3 . 1 1 ) w e h a v e

t (m + l, k) = t (m, k) t (l, k) ( 1 3 . 3 7 )

F o r l = 0 w e h a v e

t (m, k) = t (m, k) t (0, k)( 1 3 . 3 8 )

a n d , t h e r e f o r e , t (0, k) = 1. F o r l = m w e h a v e

t (2m, k) = t (m, k) t (m, k) = t2 (m, k) ( 1 3 . 3 9 )

F o r l = pm w e l i k e w i s e h a v e

t ( pm, k) = t p (m, k) ( 1 3 . 4 0 )

a n d , t h e r e f o r e ,

t

N

(m, k) = t (Nm,k) = t (0, k) = 1.( 1 3 . 4 1 )

B u t

t (m, k) = tm (1, k) = tk (m, 1) , ( 1 3 . 4 2 )

t h e r e f o r e ,

t (m, k) = tmk (1, 1) . ( 1 3 . 4 3 )

D e n i n g t (1, 1) = α g i v e s t h e f o r m f o r o u r g e n e r a l l i n e a r t r a n s f o r m ( 1 3 . 4 ) a s

X (k) =

N −1n=0

αnk x (n) ( 1 3 . 4 4 )

w h e r e α i s a r o o t o f o r d e r N , w h i c h m e a n s t h a t N i s t h e s m a l l e s t i n t e g e r s u c h t h a t αN = 1.

T h e o r e m 1 T h e t r a n s f o r m ( 1 3 . 1 3 ) s u p p o r t s c y c l i c c o n v o l u t i o n i f a n d o n l y i f α i s a r o o t o f

o r d e r N a n d N −1 i s d e n e d .

T h i s i s d i s c u s s e d i n [ 2 ] , [ 4 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 157/254

1 5 1

T h e o r e m 2 T h e t r a n s f o r m ( 1 3 . 1 3 ) s u p p o r t s c y c l i c c o n v o l u t i o n i f a n d o n l y i f

N

|O (M ) ( 1 3 . 4 5 )

w h e r e

O (M ) = gcd p1 − 1, p2 − 1, · · · , pl − 1 ( 1 3 . 4 6 )

a n d

M = pr11 pr2

2 · · · prll . ( 1 3 . 4 7 )

T h i s t h e o r e m i s a m o r e u s e f u l f o r m o f T h e o r e m 1 . N o t i c e t h a t N max = O (M ) .

O n e n e e d s t o n d a p p r o p r i a t e N , M , a n d α s u c h t h a t

• N s h o u l d b e a p p r o p r i a t e f o r a f a s t a l g o r i t h m a n d h a n d l e t h e d e s i r e d s e q u e n c e l e n g t h s .

• M s h o u l d a l l o w t h e d e s i r e d d y n a m i c r a n g e o f t h e s i g n a l s a n d s h o u l d a l l o w s i m p l e

m o d u l a r a r i t h m e t i c .

• α s h o u l d a l l o w a s i m p l e m u l t i p l i c a t i o n f o r αnk x (n) .

W e s e e t h a t i f M i s e v e n , i t h a s a f a c t o r o f 2 a n d , t h e r e f o r e , O (M ) = N max = 1 w h i c h

i m p l i e s M s h o u l d b e o d d . I f M i s p r i m e t h e O (M ) = M − 1 w h i c h i s a s l a r g e a s c o u l d b e

e x p e c t e d i n a e l d o f M i n t e g e r s . F o r M = 2k − 1, l e t k b e a c o m p o s i t e k = pq w h e r e p i s

p r i m e . T h e n 2 p−1 d i v i d e s 2 pq −1 a n d t h e m a x i m u m p o s s i b l e l e n g t h o f t h e t r a n s f o r m w i l l b e

g o v e r n e d b y t h e l e n g t h p o s s i b l e f o r 2 p

−1. T h e r e f o r e , o n l y t h e p r i m e k n e e d b e c o n s i d e r e d

i n t e r e s t i n g . N u m b e r s o f t h i s f o r m a r e k n o w a s M e r s e n n e n u m b e r s a n d h a v e b e e n u s e d b y

R a d e r [ 3 1 1 ] . F o r M e r s e n n e n u m b e r t r a n s f o r m s , i t c a n b e s h o w n t h a t t r a n s f o r m s o f l e n g t h

a t l e a s t 2 p e x i s t a n d t h e c o r r e s p o n d i n g α = −2. M e r s e n n e n u m b e r t r a n s f o r m s a r e n o t o f a s

m u c h i n t e r e s t b e c a u s e 2 p i s n o t h i g h l y c o m p o s i t e a n d , t h e r e f o r e , w e d o n o t h a v e F F T - t y p e

a l g o r i t h m s .

F o r M = 2k + 1 a n d k o d d , 3 d i v i d e s 2k + 1 a n d t h e m a x i m u m p o s s i b l e t r a n s f o r m l e n g t h i s

2 . T h u s w e c o n s i d e r o n l y e v e n k . L e t k = s2t, w h e r e s i s a n o d d i n t e g e r . T h e n 22

td i v i d e s

2s2t + 1 a n d t h e l e n g t h o f t h e p o s s i b l e t r a n s f o r m w i l l b e g o v e r n e d b y t h e l e n g t h p o s s i b l e f o r

22t

+ 1. T h e r e f o r e , i n t e g e r s o f t h e f o r m M = 22t

+ 1 a r e o f i n t e r e s t . T h e s e n u m b e r s a r e

k n o w n a s F e r m a t n u m b e r s [ 3 1 1 ] . F e r m a t n u m b e r s a r e p r i m e f o r 0

≤t

≤4 a n d a r e c o m p o s i t e

f o r a l l t ≥ 5.

S i n c e F e r m a t n u m b e r s u p t o F 4 a r e p r i m e , O (F t) = 2bw h e r e b = 2t

a n d w e c a n h a v e a

F e r m a t n u m b e r t r a n s f o r m f o r a n y l e n g t h N = 2mw h e r e m ≤ b. F o r t h e s e F e r m a t p r i m e s

t h e i n t e g e r α = 3 i s o f o r d e r N = 2ba l l o w i n g t h e l a r g e s t p o s s i b l e t r a n s f o r m l e n g t h . T h e

i n t e g e r α = 2 i s o f o r d e r N = 2b = 2t+1. T h i s i s p a r t i c u l a r l y a t t r a c t i v e s i n c e α t o a p o w e r i s

m u l t i p l i e d t i m e s t h e d a t a v a l u e s i n ( 1 3 . 4 ) .

T h e f o l l o w i n g t a b l e g i v e s p o s s i b l e p a r a m e t e r s f o r v a r i o u s F e r m a t n u m b e r m o d u l i .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 158/254

1 5 2

C H A P T E R 1 3 . C O N V O L U T I O N A L G O R I T H M S

t b M = F t N 2 N √ 2 N max α f o r N max

3 8 28 + 1 1 6 3 2 2 5 6 3

4 1 6 216 + 1 3 2 6 4 6 5 5 3 6 3

5 3 2 232 + 1 6 4 1 2 8 1 2 8

√ 2

6 6 4 264 + 1 1 2 8 2 5 6 2 5 6

√ 2

T a b l e 1 3 . 1

T h i s t a b l e g i v e s v a l u e s o f N f o r t h e t w o m o s t i m p o r t a n t v a l u e s o f α w h i c h a r e 2 a n d

√ 2. T h e

s e c o n d c o l u m n g i v e t h e a p p r o x i m a t e n u m b e r o f b i t s i n t h e n u m b e r r e p r e s e n t a t i o n . T h e t h i r d

c o l u m n g i v e s t h e F e r m a t n u m b e r m o d u l u s , t h e f o u r t h i s t h e m a x i m u m c o n v o l u t i o n l e n g t h

f o r α = 2, t h e f t h i s t h e m a x i m u m l e n g t h f o r α =√

2, t h e s i x t h i s t h e m a x i m u m l e n g t h

f o r a n y α, a n d t h e s e v e n t h i s t h e α f o r t h a t m a x i m u m l e n g t h . R e m e m b e r t h a t t h e r s t t w o

r o w s h a v e a F e r m a t n u m b e r m o d u l u s w h i c h i s p r i m e a n d s e c o n d t w o r o w s h a v e a c o m p o s i t e

F e r m a t n u m b e r a s m o d u l u s . N o t e t h e d i e r e n c e s .

T h e b o o k s , a r t i c l e s , a n d p r e s e n t a t i o n s t h a t d i s c u s s N T T a n d r e l a t e d t o p i c s a r e [ 2 0 9 ] , [ 2 3 7 ] ,

[ 2 6 5 ] , [ 3 1 ] , [ 2 5 3 ] , [ 2 5 7 ] , [ 2 8 8 ] , [ 3 1 2 ] , [ 3 1 1 ] , [ 1 ] , [ 5 5 ] , [ 2 ] , [ 4 ] . A r e c e n t b o o k d i s c u s s e s N T i n a

s i g n a l p r o c e s s i n g c o n t e x t [ 2 1 5 ] .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 159/254

C h a p t e r 1 4

C o m m e n t s : F a s t F o u r i e r T r a n s f o r m s

1

1 4 . 1 O t h e r w o r k a n d R e s u l t s

T h i s s e c t i o n c o m e s f r o m a n o t e d e s c r i b i n g r e s u l t s o n e c i e n t a l g o r i t h m s t o c a l c u l a t e t h e

d i s c r e t e F o u r i e r t r a n s f o r m ( D F T ) t h a t w e r e c o l l e c t e d o v e r y e a r s . P e r h a p s t h e m o s t i n t e r e s t i n g

i s t h e d i s c o v e r y t h a t t h e C o o l e y - T u k e y F F T w a s d e s c r i b e d b y G a u s s i n 1 8 0 5 [ 1 7 5 ] . T h a t

g i v e s s o m e i n d i c a t i o n o f t h e a g e o f r e s e a r c h o n t h e t o p i c , a n d t h e f a c t t h a t a 1 9 9 5 c o m p i l e d

b i b l i o g r a p h y [ 3 6 3 ] o n e c i e n t a l g o r i t h m s c o n t a i n s o v e r 3 4 0 0 e n t r i e s i n d i c a t e s i t s v o l u m e .

T h r e e I E E E P r e s s r e p r i n t b o o k s c o n t a i n p a p e r s o n t h e F F T [ 3 0 3 ] , [ 8 4 ] , [ 8 5 ] . A n e x c e l l e n t

g e n e r a l p u r p o s e F F T p r o g r a m h a s b e e n d e s c r i b e d i n [ 1 3 2 ] , [ 1 2 9 ] a n d i s u s e d i n M a t l a b a n d

a v a i l a b l e o v e r t h e i n t e r n e t .

I n a d d i t i o n t o t h i s b o o k t h e r e a r e s e v e r a l o t h e r s [ 2 3 8 ] , [ 2 6 6 ] , [ 2 5 ] , [ 1 7 0 ] , [ 3 8 3 ] , [ 2 5 4 ] , [ 3 3 ] , [ 3 7 ] ,

[ 3 4 5 ] t h a t g i v e a g o o d m o d e r n t h e o r e t i c a l b a c k g r o u n d f o r t h e F F T , o n e b o o k [ 6 7 ] t h a t g i v e s

t h e b a s i c t h e o r y p l u s b o t h F O R T R A N a n d T M S 3 2 0 a s s e m b l y l a n g u a g e p r o g r a m s , a n d o t h e r

b o o k s [ 2 1 9 ] , [ 3 4 8 ] , [ 7 0 ] t h a t c o n t a i n c h a p t e r s o n a d v a n c e d F F T t o p i c s . A g o o d u p - t o - d a t e ,

o n - l i n e r e f e r e n c e w i t h b o t h t h e o r y a n d p r o g r a m m i n g t e c h n i q u e s i s i n [ 1 1 ] . T h e h i s t o r y o f t h e

F F T i s o u t l i n e d i n [ 8 7 ] , [ 1 7 5 ] a n d e x c e l l e n t s u r v e y a r t i c l e s c a n b e f o u n d i n [ 1 1 5 ] , [ 9 3 ] . T h e

f o u n d a t i o n o f m u c h o f t h e m o d e r n w o r k o n e c i e n t a l g o r i t h m s w a s d o n e b y S . W i n o g r a d .

T h e s e r e s u l t s c a n b e f o u n d i n [ 4 1 2 ] , [ 4 1 5 ] , [ 4 1 8 ] . A n o u t l i n e a n d d i s c u s s i o n o f h i s t h e o r e m s

c a n b e f o u n d i n [ 2 1 9 ] a s w e l l a s [ 2 3 8 ] , [ 2 6 6 ] , [ 2 5 ] , [ 1 7 0 ] .

E c i e n t F F T a l g o r i t h m s f o r l e n g t h - 2M w e r e d e s c r i b e d b y G a u s s a n d d i s c o v e r e d i n m o d e r n

t i m e s b y C o o l e y a n d T u k e y [ 9 1 ] . T h e s e h a v e b e e n h i g h l y d e v e l o p e d a n d g o o d e x a m p l e s o f

F O R T R A N p r o g r a m s c a n b e f o u n d i n [ 6 7 ] . S e v e r a l n e w a l g o r i t h m s h a v e b e e n p u b l i s h e d

t h a t r e q u i r e t h e l e a s t k n o w n a m o u n t o f t o t a l a r i t h m e t i c [ 4 2 3 ] , [ 1 0 8 ] , [ 1 0 4 ] , [ 2 2 9 ] , [ 3 9 4 ] , [ 7 1 ] .

O f t h e s e , t h e s p l i t - r a d i x F F T [ 1 0 8 ] , [ 1 0 4 ] , [ 3 9 2 ] , [ 3 6 6 ] s e e m s t o h a v e t h e b e s t s t r u c t u r e f o r

p r o g r a m m i n g , a n d a n e c i e n t p r o g r a m h a s b e e n w r i t t e n [ 3 5 1 ] t o i m p l e m e n t i t . A m i x t u r e o f

d e c i m a t i o n - i n - t i m e a n d d e c i m a t i o n - i n - f r e q u e n c y w i t h v e r y g o o d e c i e n c y i s g i v e n i n [ 3 2 3 ] ,

[ 3 2 4 ] a n d o n e c a l l e d t h e S i n e - C o s i n e F T [ 7 1 ] . R e c e n t l y a m o d i c a t i o n t o t h e s p l i t - r a d i x a l g o -

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 4 3 4 / 1 . 8 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

1 5 3

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 160/254

1 5 4

C H A P T E R 1 4 . C O M M E N T S : F A S T F O U R I E R T R A N S F O R M S

r i t h m h a s b e e n d e s c r i b e d [ 2 0 3 ] t h a t h a s a s l i g h t l y b e t t e r t o t a l a r i t h m e t i c c o u n t . T h e o r e t i c a l

b o u n d s o n t h e n u m b e r o f m u l t i p l i c a t i o n s r e q u i r e d f o r t h e F F T b a s e d o n W i n o g r a d ' s t h e o r i e s

a r e g i v e n i n [ 1 7 0 ] , [ 1 7 2 ] . S c h e m e s f o r c a l c u l a t i n g a n i n - p l a c e , i n - o r d e r r a d i x - 2 F F T a r e g i v e n

i n [ 1 7 ] , [ 1 9 ] , [ 1 9 6 ] , [ 3 7 9 ] . D i s c u s s i o n o f v a r i o u s f o r m s o f u n s c r a m b l e r s i s g i v e n i n [ 5 1 ] , [ 3 2 1 ] ,

[ 1 8 6 ] , [ 1 2 3 ] , [ 3 1 8 ] , [ 4 0 0 ] , [ 4 2 4 ] , [ 3 7 0 ] , [ 3 1 5 ] . A d i s c u s s i o n o f t h e r e l a t i o n o f t h e c o m p u t e r

a r c h i t e c t u r e , a l g o r i t h m a n d c o m p i l e r c a n b e f o u n d i n [ 2 5 1 ] , [ 2 4 2 ] . A m o d i c a t i o n t o a l l o w

l e n g t h s o f N = q 2mf o r q o d d i s g i v e n i n [ 2 4 ] .

T h e o t h e r F F T i s t h e p r i m e f a c t o r a l g o r i t h m ( P F A ) w h i c h u s e s a n i n d e x m a p o r i g i n a l l y

d e v e l o p e d b y T h o m a s a n d b y G o o d . T h e t h e o r y o f t h e P F A w a s d e r i v e d i n [ 2 1 4 ] a n d f u r t h e r

d e v e l o p e d a n d a n e c i e n t i n - o r d e r a n d i n - p l a c e p r o g r a m g i v e n i n [ 5 8 ] , [ 6 7 ] . M o r e r e s u l t s o n

t h e P F A a r e g i v e n i n [ 3 7 7 ] , [ 3 7 8 ] , [ 3 7 9 ] , [ 3 8 0 ] , [ 3 6 4 ] . A m e t h o d h a s b e e n d e v e l o p e d t o u s e

d y n a m i c p r o g r a m m i n g t o d e s i g n o p t i m a l F F T p r o g r a m s t h a t m i n i m i z e t h e n u m b e r o f a d d i -

t i o n s a n d d a t a t r a n s f e r s a s w e l l a s m u l t i p l i c a t i o n s [ 1 9 1 ] . T h i s n e w a p p r o a c h d e s i g n s c u s t o m

a l g o r i t h m s f o r a p a r t i c u l a r c o m p u t e r a r c h i t e c t u r e . A n e c i e n t a n d p r a c t i c a l d e v e l o p m e n t

o f W i n o g r a d ' s i d e a s h a s g i v e n a d e s i g n m e t h o d t h a t d o e s n o t r e q u i r e t h e r a t h e r d i c u l t

C h i n e s e r e m a i n d e r t h e o r e m [ 2 1 9 ] , [ 1 9 9 ] f o r s h o r t p r i m e l e n g t h F F T ' s . T h e s e i d e a s h a v e b e e n

u s e d t o d e s i g n m o d u l e s o f l e n g t h 1 1 , 1 3 , 1 7 , 1 9 , a n d 2 5 [ 1 8 9 ] . O t h e r m e t h o d s f o r d e s i g n i n g

s h o r t D F T ' s c a n b e f o u n d i n [ 3 7 6 ] , [ 2 2 3 ] . A u s e o f t h e s e i d e a s w i t h d i s t r i b u t e d a r i t h m e t i c

a n d t a b l e l o o k - u p r a t h e r t h a n m u l t i p l i c a t i o n i s g i v e n i n [ 8 0 ] . A p r o g r a m t h a t i m p l e m e n t s

t h e n e s t e d W i n o g r a d F o u r i e r t r a n s f o r m a l g o r i t h m ( W F T A ) i s g i v e n i n [ 2 3 8 ] b u t i t h a s n o t

p r o v e n a s f a s t o r a s v e r s a t i l e a s t h e P F A [ 5 8 ] . A n i n t e r e s t i n g u s e o f t h e P F A w a s a n n o u n c e d

[ 7 5 ] i n s e a r c h i n g f o r l a r g e p r i m e n u m b e r s .

T h e s e e c i e n t a l g o r i t h m s c a n n o t o n l y b e u s e d o n D F T ' s b u t o n o t h e r t r a n s f o r m s w i t h a

s i m i l a r s t r u c t u r e . T h e y h a v e b e e n a p p l i e d t o t h e d i s c r e t e H a r t l e y t r a n s f o r m [ 3 5 4 ] , [ 3 6 ] a n d

t h e d i s c r e t e c o s i n e t r a n s f o r m [ 3 9 4 ] , [ 4 0 1 ] , [ 3 1 4 ] .

T h e f a s t H a r t l e y t r a n s f o r m h a s b e e n p r o p o s e d a s a s u p e r i o r m e t h o d f o r r e a l d a t a a n a l y s i s

b u t t h a t h a s b e e n s h o w n n o t t o b e t h e c a s e . A w e l l - d e s i g n e d r e a l - d a t a F F T [ 3 6 0 ] i s a l w a y s

a s g o o d a s o r b e t t e r t h a n a w e l l - d e s i g n e d H a r t l e y t r a n s f o r m [ 3 5 4 ] , [ 1 1 3 ] , [ 2 8 9 ] , [ 3 8 6 ] , [ 3 7 1 ] .

T h e B r u u n a l g o r i t h m [ 4 1 ] , [ 3 6 9 ] a l s o l o o k s p r o m i s i n g f o r r e a l d a t a a p p l i c a t i o n s a s d o e s t h e

R a d e r - B r e n n e r a l g o r i t h m [ 3 1 0 ] , [ 7 6 ] , [ 3 8 6 ] . A n o v e l a p p r o a c h t o c a l c u l a t i n g t h e i n v e r s e D F T

i s g i v e n i n [ 1 0 9 ] .

G e n e r a l l e n g t h a l g o r i t h m s i n c l u d e [ 3 4 0 ] , [ 1 4 3 ] , [ 1 2 5 ] . F o r l e n g t h s t h a t a r e n o t h i g h l y c o m -

p o s i t e o r p r i m e , t h e c h i r p z - t r a n s f o r m i n a g o o d c a n d i d a t e [ 6 7 ] , [ 3 0 7 ] f o r l o n g e r l e n g t h s a n d

a n e c i e n t o r d e r - N 2 a l g o r i t h m c a l l e d t h e Q F T [ 3 4 3 ] , [ 1 5 7 ] , [ 1 6 0 ] f o r s h o r t e r l e n g t h s . A

m e t h o d w h i c h a u t o m a t i c a l l y g e n e r a t e s n e a r - o p t i m a l p r i m e l e n g t h W i n o g r a d b a s e d p r o g r a m s

h a s b e e n g i v e n i n [ 1 9 9 ] , [ 3 3 0 ] , [ 3 3 2 ] , [ 3 3 4 ] , [ 3 3 6 ] . T h i s g i v e s t h e s a m e e c i e n c y f o r s h o r t e r

l e n g t h s ( i . e . N ≤ 19) a n d n e w a l g o r i t h m s f o r m u c h l o n g e r l e n g t h s a n d w i t h w e l l - s t r u c t u r e d

a l g o r i t h m s . A n o t h e r a p p r o a c h i s g i v e n i n [ 2 8 5 ] . S p e c i a l m e t h o d s a r e a v a i l a b l e f o r v e r y l o n g

l e n g t h s [ 1 8 3 ] , [ 3 6 5 ] . A v e r y i n t e r e s t i n g g e n e r a l l e n g t h F F T s y s t e m c a l l e d t h e F F T W h a s

b e e n d e v e l o p e d b y F r i g o a n d J o h n s o n a t M I T . I t u s e s a l i b r a r y o f e c i e n t c o d e l e t s " w h i c h

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 161/254

1 5 5

a r e c o m p o s e d f o r a v e r y e c i e n t c a l c u l a t i o n o f t h e D F T o n a w i d e v a r i e t y o f c o m p u t e r s

[ 1 3 2 ] , [ 1 2 9 ] , [ 1 3 6 ] . F o r m o s t l e n g t h s a n d o n m o s t c o m p u t e r s , t h i s i s t h e f a s t e s t F F T t o d a y .

S u r p r i s i n g l y , i t u s e s a r e c u r s i v e p r o g r a m s t r u c t u r e . T h e F F T W w o n t h e 1 9 9 9 W i l k i n s o n

P r i z e f o r N u m e r i c a l S o f t w a r e .

T h e u s e o f t h e F F T t o c a l c u l a t e d i s c r e t e c o n v o l u t i o n w a s o n e o f i t s e a r l i e s t u s e s . A l t h o u g h

t h e m o r e d i r e c t r e c t a n g u l a r t r a n s f o r m [ 9 ] w o u l d s e e m t o b e m o r e e c i e n t , u s e o f t h e F F T

o r P F A i s s t i l l p r o b a b l y t h e f a s t e s t m e t h o d o n a g e n e r a l p u r p o s e c o m p u t e r o r D S P c h i p

[ 2 8 7 ] , [ 3 6 0 ] , [ 1 1 3 ] , [ 2 4 1 ] . O n s p e c i a l p u r p o s e h a r d w a r e o r s p e c i a l a r c h i t e c t u r e s , t h e u s e o f

d i s t r i b u t e d a r i t h m e t i c [ 8 0 ] o r n u m b e r t h e o r e t i c t r a n s f o r m s [ 5 ] m a y b e e v e n f a s t e r . S p e c i a l

a l g o r i t h m s f o r u s e w i t h t h e s h o r t - t i m e F o u r i e r t r a n s f o r m [ 3 4 6 ] a n d f o r t h e c a l c u l a t i o n o f a f e w

D F T v a l u e s [ 3 4 9 ] , [ 3 1 6 ] , [ 3 4 7 ] a n d f o r r e c u r s i v e i m p l e m e n t a t i o n [ 3 9 9 ] , [ 1 2 9 ] h a v e a l s o b e e n

d e v e l o p e d . A n e x c e l l e n t a n a l y s i s o f e c i e n t p r o g r a m m i n g t h e F F T o n D S P m i c r o p r o c e s s o r s

i s g i v e n i n [ 2 4 3 ] , [ 2 4 2 ] . F o r m u l a t i o n s o f t h e D F T i n t e r m s o f t e n s o r o r K r o n e c k e r p r o d u c t s

l o o k p r o m i s i n g f o r d e v e l o p i n g a l g o r i t h m s f o r p a r a l l e l a n d v e c t o r c o m p u t e r a r c h i t e c t u r e s [ 3 6 1 ] ,

[ 3 8 3 ] , [ 2 0 0 ] , [ 3 9 0 ] , [ 3 8 5 ] , [ 1 5 4 ] , [ 1 5 3 ] .

V a r i o u s a p p r o a c h e s t o c a l c u l a t i n g a p p r o x i m a t e D F T s h a v e b e e n b a s e d o n c o r d i c m e t h o d s ,

s h o r t w o r d l e n g t h s , o r s o m e f o r m o f p r u n i n g . A n e w m e t h o d t h a t u s e s t h e c h a r a c t e r i s t i c s o f

t h e s i g n a l s b e i n g t r a n s f o r m e d h a s c o m b i n e d t h e d i s c r e t e w a v e l e t t r a n s f o r m ( D W T ) c o m b i n e d

w i t h t h e D F T t o g i v e a n a p p r o x i m a t e F F T w i t h O (N ) m u l t i p l i c a t i o n s [ 1 6 2 ] , [ 1 6 4 ] , [ 6 9 ] f o r

c e r t a i n s i g n a l c l a s s e s . A s i m i l a r a p p r o a c h h a s b e e n d e v e l o p e d u s i n g l t e r b a n k s [ 3 3 9 ] , [ 1 8 5 ] .

T h e s t u d y o f e c i e n t a l g o r i t h m s n o t o n l y h a s a l o n g h i s t o r y a n d l a r g e b i b l i o g r a p h y , i t i s s t i l l

a n e x c i t i n g r e s e a r c h e l d w h e r e n e w r e s u l t s a r e u s e d i n p r a c t i c a l a p p l i c a t i o n s .

M o r e i n f o r m a t i o n c a n b e f o u n d o n t h e R i c e D S P G r o u p ' s w e b p a g e

2

2

h t t p : / / w w w - d s p . r i c e . e d u

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 162/254

1 5 6

C H A P T E R 1 4 . C O M M E N T S : F A S T F O U R I E R T R A N S F O R M S

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 163/254

C h a p t e r 1 5

C o n c l u s i o n s : F a s t F o u r i e r T r a n s f o r m s

1

T h i s b o o k h a s d e v e l o p e d a c l a s s o f e c i e n t a l g o r i t h m s b a s e d o n i n d e x m a p p i n g a n d p o l y n o -

m i a l a l g e b r a . T h i s p r o v i d e s a f r a m e w o r k f r o m w h i c h t h e C o o l e y - T u k e y F F T , t h e s p l i t - r a d i x

F F T , t h e P F A , a n d W F T A c a n b e d e r i v e d . E v e n t h e p r o g r a m s i m p l e m e n t i n g t h e s e a l g o -

r i t h m s c a n h a v e a s i m i l a r s t r u c t u r e . W i n o g r a d ' s t h e o r e m s w e r e p r e s e n t e d a n d s h o w n t o b e

v e r y p o w e r f u l i n b o t h d e r i v i n g a l g o r i t h m s a n d i n e v a l u a t i n g t h e m . T h e s i m p l e r a d i x - 2 F F T

p r o v i d e s a c o m p a c t , e l e g a n t m e a n s f o r e c i e n t l y c a l c u l a t i n g t h e D F T . I f s o m e e l a b o r a t i o n

i s a l l o w e d , s i g n i c a n t i m p r o v e m e n t c a n b e h a d f r o m t h e s p l i t - r a d i x F F T , t h e r a d i x - 4 F F T

o r t h e P F A . I f m u l t i p l i c a t i o n s a r e e x p e n s i v e , t h e W F T A r e q u i r e s t h e l e a s t o f a l l .

S e v e r a l m e t h o d f o r t r a n s f o r m i n g r e a l d a t a w e r e d e s c r i b e d t h a t a r e m o r e e c i e n t t h a n d i r e c t l y

u s i n g a c o m p l e x F F T . A c o m p l e x F F T c a n b e u s e d f o r r e a l d a t a b y a r t i c i a l l y c r e a t i n g a

c o m p l e x i n p u t f r o m t w o s e c t i o n s o f r e a l i n p u t . A n a l t e r n a t i v e a n d s l i g h t l y m o r e e c i e n t

m e t h o d i s t o c o n s t r u c t a s p e c i a l F F T t h a t u t i l i z e s t h e s y m m e t r i e s a t e a c h s t a g e .

A s c o m p u t e r s m o v e t o m u l t i p r o c e s s o r s a n d m u l t i c o r e , w r i t i n g a n d m a i n t a i n i n g e c i e n t p r o -

g r a m s b e c o m e s m o r e a n d m o r e d i c u l t . T h e h i g h l y s t r u c t u r e d f o r m o f F F T s a l l o w s a u t o -

m a t i c g e n e r a t i o n o f v e r y e c i e n t p r o g r a m s t h a t a r e t a i l o r e d s p e c i c a l l y t o a p a r t i c u l a r D S P

o r c o m p u t e r a r c h i t e c t u r e .

F o r h i g h - s p e e d c o n v o l u t i o n , t h e t r a d i t i o n a l u s e o f t h e F F T o r P F A w i t h b l o c k i n g i s p r o b a -

b l y t h e f a s t e s t m e t h o d a l t h o u g h r e c t a n g u l a r t r a n s f o r m s , d i s t r i b u t e d a r i t h m e t i c , o r n u m b e r

t h e o r e t i c t r a n s f o r m s m a y h a v e a f u t u r e w i t h s p e c i a l V L S I h a r d w a r e .

T h e i d e a s p r e s e n t e d i n t h e s e n o t e s c a n a l s o b e a p p l i e d t o t h e c a l c u l a t i o n o f t h e d i s c r e t e

H a r t l e y t r a n s f o r m [ 3 5 5 ] , [ 1 1 2 ] , t h e d i s c r e t e c o s i n e t r a n s f o r m [ 1 1 9 ] , [ 3 9 5 ] , a n d t o n u m b e r

t h e o r e t i c t r a n s f o r m s [ 3 2 ] , [ 2 3 9 ] , [ 2 6 7 ] .

T h e r e a r e m a n y a r e a s f o r f u t u r e r e s e a r c h . T h e r e l a t i o n s h i p o f h a r d w a r e t o a l g o r i t h m s , t h e

p r o p e r u s e o f m u l t i p l e p r o c e s s o r s , t h e p r o p e r d e s i g n a n d u s e o f a r r a y p r o c e s s o r s a n d v e c t o r

p r o c e s s o r s a r e a l l o p e n . T h e r e a r e s t i l l m a n y u n a n s w e r e d q u e s t i o n s i n m u l t i - d i m e n s i o n a l

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 4 0 / 1 . 7 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

1 5 7

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 164/254

1 5 8

C H A P T E R 1 5 . C O N C L U S I O N S : F A S T F O U R I E R T R A N S F O R M S

a l g o r i t h m s w h e r e a s i m p l e e x t e n s i o n o f o n e - d i m e n s i o n a l m e t h o d s w i l l n o t s u c e .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 165/254

A p p e n d i x 1 : F F T F l o w g r a p h s

1

1 6 . 1 S i g n a l F l o w G r a p h s o f C o o l e y - T u k e y F F T s

T h e f o l l o w i n g f o u r g u r e s a r e o w g r a p h s f o r R a d i x - 2 C o o l e y - T u k e y F F T s . T h e r s t i s a

l e n g t h - 1 6 , d e c i m a t i o n - i n - f r e q u e n c y R a d i x - 2 F F T w i t h t h e i n p u t d a t a i n o r d e r a n d o u t p u t

d a t a s c r a m b l e d . T h e r s t s t a g e h a s 8 l e n g t h - 2 " b u t t e r i e s " ( w h i c h o v e r l a p i n t h e g u r e )

f o l l o w e d b y 8 m u l t i p l i c a t i o n s b y p o w e r s o f W w h i c h a r e c a l l e d " t w i d d l e f a c t o r s " . T h e s e c o n d

s t a g e h a s 2 l e n g t h - 8 F F T s w h i c h a r e e a c h c a l c u l a t e d b y 4 b u t t e r i e s f o l l o w e d b y 4 m u l t i p l i e s .

T h e t h i r d s t a g e h a s 4 l e n g t h - 4 F F T s , e a c h c a l c u l a t e d b y 2 b u t t e r i e s f o l l o w e d b y 2 m u l t i p l i e s

a n d t h e l a s t s t a g e i s s i m p l y 8 b u t t e r i e s f o l l o w e d b y t r i v i a l m u l t i p l i e s b y o n e . T h i s o w g r a p h

s h o u l d b e c o m p a r e d w i t h t h e i n d e x m a p i n P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s ( C h a p t e r 4 ) ,

t h e p o l y n o m i a l d e c o m p o s i t i o n i n T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g ( C h a p t e r 5 ) , a n d t h e

p r o g r a m i n A p p e n d i x 3 . I n t h e p r o g r a m , t h e b u t t e r i e s a n d t w i d d l e f a c t o r m u l t i p l i c a t i o n s

a r e d o n e t o g e t h e r i n t h e i n n e r m o s t l o o p . T h e o u t e r m o s t l o o p i n d e x e s t h r o u g h t h e s t a g e s .

I f t h e l e n g t h o f t h e F F T i s a p o w e r o f t w o , t h e n u m b e r o f s t a g e s i s t h a t p o w e r ( l o g N ) .

T h e s e c o n d g u r e b e l o w i s a l e n g t h - 1 6 , d e c i m a t i o n - i n - t i m e F F T w i t h t h e i n p u t d a t a s c r a m -

b l e d a n d o u t p u t d a t a i n o r d e r . T h e r s t s t a g e h a s 8 l e n g t h - 2 " b u t t e r i e s " f o l l o w e d b y 8

t w i d d l e f a c t o r s m u l t i p l i c a t i o n s . T h e s e c o n d s t a g e h a s 4 l e n g t h - 4 F F T s w h i c h a r e e a c h c a l -

c u l a t e d b y 2 b u t t e r i e s f o l l o w e d b y 2 m u l t i p l i e s . T h e t h i r d s t a g e h a s 2 l e n g t h - 8 F F T s , e a c h

c a l c u l a t e d b y 4 b u t t e r i e s f o l l o w e d b y 8 m u l t i p l i e s a n d t h e l a s t s t a g e i s s i m p l y 8 l e n g t h - 2

b u t t e r i e s . T h i s o w g r a p h s h o u l d b e c o m p a r e d w i t h t h e i n d e x m a p i n P o l y n o m i a l D e s c r i p -

t i o n o f S i g n a l s ( C h a p t e r 4 ) , t h e p o l y n o m i a l d e c o m p o s i t i o n i n T h e D F T a s C o n v o l u t i o n o r

F i l t e r i n g ( C h a p t e r 5 ) , a n d t h e p r o g r a m i n A p p e n d i x 3 ( C h a p t e r 1 8 ) . H e r e , t h e F F T m u s t

b e p r e c e d e d b y a s c r a m b l e r .

T h e t h i r d a n d f o u r t h g u r e s b e l o w a r e a l e n g t h - 1 6 d e c i m a t i o n - i n - f r e q u e n c y a n d a d e c i m a t i o n -

i n - t i m e b u t , i n c o n t r a s t t o t h e g u r e s a b o v e , t h e D I F h a s t h e o u t p u t i n o r d e r w h i c h r e q u i r e s

a s c r a m b l e d i n p u t a n d t h e D I T h a s t h e i n p u t i n o r d e r w h i c h r e q u i r e s t h e o u t p u t b e u n s c r a m -

b l e d . C o m p a r e w i t h t h e r s t t w o g u r e s . N o t e t h e o r d e r o f t h e t w i d d l e f a c t o r s . T h e n u m b e r

o f a d d i t i o n s a n d m u l t i p l i c a t i o n s i n a l l f o u r o w g r a p h s i s t h e s a m e a n d t h e s t r u c t u r e o f t h e

t h r e e - l o o p p r o g r a m w h i c h e x e c u t e s t h e o w g r a p h i s t h e s a m e .

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 5 2 / 1 . 1 1 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

1 5 9

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 166/254

1 6 0

A P P E N D I X

x(0)

x(1)

x(2)

x(3)

x(4)

x(5)

x(6)

x(7)

x(8)

x(9)

x(10)

x(11)

x(12)

x(13)

x(14)

x(15)

W 0

W 0

W 0

W 0

W 0

W 0

W 0

W 1

W 2

W 2

W 3

W 4

W 4

W 4

W 4

W 4

W 4

W 4

W 6

W 5

W 6

W 6

W 2

W 7

X (0)

X (8)

X (4)

X (12)

X (2)

X (10)

X (6)

X (14)

X (1)

X (9)

X (5)

X (13)

X (3)

X (11)

X (7)

X (15)

F i g u r e 1 6 . 1 : L e n g t h - 1 6 , D e c i m a t i o n - i n - F r e q u e n c y , I n - o r d e r i n p u t , R a d i x - 2 F F T

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 167/254

A P P E N D I X 1 6 1

x(0)

x(8)

x(4)

x(12)

x(2)

x(10)

x(6)

x(14)

x(1)

x(9)

x(5)

x(13)

x(3)

x(11)

x(7)

x(15)

W 0

W 0

W 0

W 0

W 4

W 4

W 4

W 4

W 0

W 0

W 2

W 4

W 4

W 6

W 6

W 2

W 0

W 1

W 2

W 3

W 4

W 5

W 6

W 7

X (0)

X (1)

X (2)

X (3)

X (4)

X (5)

X (6)

X (7)

X (8)

X (9)

X (10

X (11)

X (12)

X (13)

X (14)

X (15)

F i g u r e 1 6 . 2 : L e n g t h - 1 6 , D e c i m a t i o n - i n - T i m e , I n - o r d e r o u t p u t , R a d i x - 2 F F T

x(0)

x(8)

x(4)

x(12)

x(2)

x(10)

x(6)

x(14)

x(1)

x(9)

x(5)

x(13)

x(3)

x(11)

x(7)

x(15)

W 0

W 0

W 1

W 3

W 4

W 5

W 7

W 0

W 0

W 0

W 0

W 0

W 2

W 4

W 4

W 6

W

6

W 6

W 2

W 2

W 4

W

4

W 4

W 4

X (0)

X (1)

X (2)

X (3)

X (4)

X (5)

X (6)

X (7)

X (8)

X (9)

X (10

X (11)

X (12)

X (13)

X (14)

X (15)

F i g u r e 1 6 . 3 : L e n g t h - 1 6 , a l t e r n a t e D e c i m a t i o n - i n - F r e q u e n c y , I n - o r d e r o u t p u t , R a d i x - 2

F F T

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 168/254

1 6 2

A P P E N D I X

x(0)

x(1)

x(2)

x(3)

x(4)

x(5)

x(6)

x(7)

x(8)

x(9)

x(10)

x(11)

x(12)

x(13)

x(14)

x(15)

W 0

W 0

W 0

W 0

W 0

W 0

W 0

W 2

W 1

W 3

W 2

W 4

W 4

W 4

W 4

W 6

W 5

W 7

W 6

W 4

W 4

W 6

W 2

W 4

X (0)

X (8)

X (4)

X (12)

X (2)

X (10)

X (6)

X (14)

X (1)

X (9)

X (5)

X (13)

X (3)

X (11)

X (7)

X (15)

F i g u r e 1 6 . 4 : L e n g t h - 1 6 , a l t e r n a t e D e c i m a t i o n - i n - T i m e , I n - o r d e r i n p u t , R a d i x - 2 F F T

T h e f o l l o w i n g i s a l e n g t h - 1 6 , d e c i m a t i o n - i n - f r e q u e n c y R a d i x - 4 F F T w i t h t h e i n p u t d a t a i n

o r d e r a n d o u t p u t d a t a s c r a m b l e d . T h e r e a r e t w o s t a g e s w i t h t h e r s t s t a g e h a v i n g 4 l e n g t h -

4 " b u t t e r i e s " f o l l o w e d b y 1 2 m u l t i p l i c a t i o n s b y p o w e r s o f W w h i c h a r e c a l l e d " t w i d d l e

f a c t o r s . T h e s e c o n d s t a g e h a s 4 l e n g t h - 4 F F T s w h i c h a r e e a c h c a l c u l a t e d b y 4 b u t t e r i e s

f o l l o w e d b y 4 m u l t i p l i e s . N o t e , e a c h s t a g e h e r e l o o k s l i k e t w o s t a g e s b u t i t i s o n e a n d

t h e r e i s o n l y o n e p l a c e w h e r e t w i d d l e f a c t o r m u l t i p l i c a t i o n s a p p e a r . T h i s o w g r a p h s h o u l d

b e c o m p a r e d w i t h t h e i n d e x m a p i n P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s ( C h a p t e r 4 ) , t h e

p o l y n o m i a l d e c o m p o s i t i o n i n T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g ( C h a p t e r 5 ) , a n d t h e

p r o g r a m i n A p p e n d i x 3 ( C h a p t e r 1 8 ) . L o g t o t h e b a s e 4 o f 1 6 i s 2 . T h e t o t a l n u m b e r o f

t w i d d l e f a c t o r m u l t i p l i c a t i o n h e r e i s 1 2 c o m p a r e d t o 2 4 f o r t h e r a d i x - 2 . T h e u n s c r a m b l e r i s

a b a s e - f o u r r e v e r s e o r d e r c o u n t e r r a t h e r t h a n a b i t r e v e r s e c o u n t e r , h o w e v e r , a m o d i c a t i o n

o f t h e r a d i x f o u r b u t t e r i e s w i l l a l l o w a b i t r e v e r s e c o u n t e r t o b e u s e d w i t h t h e r a d i x - 4 F F T

a s w i t h t h e r a d i x - 2 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 169/254

A P P E N D I X 1 6 3

x(0)

x(1)

x(2)

x(3)

x(4)

x(5)

x(6)

x(7)

x(8)

x(9)

x(10)

x(11)

x(12)

x(13)

x(14)

x(15)

W 0

W 0

W 1

W 2

W 2

W 3

W 4

W 4

W 6

W 5

W 6

W 7

X (0)

X (8)

X (4)

X (12)

X (2)

X (10)

X (6)

X (14)

X (1)

X (9)

X (5)

X (13)

X (3)

X (11)

X (7)

X (15)

- j

- j

- j

- j- j

- j

- j

- j

F i g u r e 1 6 . 5 : L e n g t h - 1 6 , D e c i m a t i o n - i n - F r e q u e n c y , I n - o r d e r i n p u t , R a d i x - 4 F F T

T h e f o l l o w i n g t w o o w g r a p h s a r e l e n g t h - 1 6 , d e c i m a t i o n - i n - f r e q u e n c y S p l i t R a d i x F F T s w i t h

t h e i n p u t d a t a i n o r d e r a n d o u t p u t d a t a s c r a m b l e d . B e c a u s e t h e " b u t t e r i e s " a r e L s h a p e d ,

t h e s t a g e s d o n o t p r o g r e s s u n i f o r m l y l i k e t h e R a d i x - 2 o r 4 . T h e s e t w o g u r e s a r e t h e s a m e

w i t h t h e r s t d r a w n i n a w a y t o c o m p a r e w i t h t h e R a d i x - 2 a n d 4 , a n d t h e s e c o n d t o i l l u s t r a t e

t h e L s h a p e d b u t t e r i e s . T h e s e o w g r a p h s s h o u l d b e c o m p a r e d w i t h t h e i n d e x m a p i n

P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s ( C h a p t e r 4 ) a n d t h e p r o g r a m i n A p p e n d i x 3 ( C h a p t e r 1 8 ) .

B e c a u s e o f t h e n o n - u n i f o r m s t a g e s , t h e p r o g r a m i n d e x i n g i s m o r e c o m p l i c a t e d . A l t h o u g h

t h e n u m b e r o f t w i d d l e f a c t o r m u l t i p l i c a t i o n s i s 1 2 a s w a s t h e r a d i x - 4 c a s e , f o r l o n g e r l e n g t h s ,

t h e s p l i t - r a d i x h a s s l i g h t l y f e w e r m u l t i p l i c a t i o n s t h a n t h e r a d i x - 4 .

B e c a u s e t h e s t r u c t u r e s o f t h e r a d i x - 2 , r a d i x - 4 , a n d s p l i t - r a d i x F F T s a r e t h e s a m e , t h e n u m b e r

o f d a t a a d d i t i o n s i s s a m e f o r a l l o f t h e m . H o w e v e r , e a c h c o m p l e x t w i d d l e f a c t o r m u l t i p l i c a t i o n

r e q u i r e s t w o r e a l a d d i t i o n s ( a n d f o u r r e a l m u l t i p l i c a t i o n s ) t h e n u m b e r o f a d d i t i o n s w i l l b e

f e w e r f o r t h e s t r u c t u r e s w i t h f e w e r m u l t i p l i c a t i o n s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 170/254

1 6 4

A P P E N D I X

x(0)

x(1)

x(2)

x(3)

x(4)

x(5)

x(6)

x(7)

x(8)

x(9)

x(10)

x(11)

x(12)

x(13)

x(14)

x(15)

W 0

W 1

W 2

W 2

W 3

W 4

W 4

W 6

W 5

W 6

W 7

X (0)

X (8)

X (4)

X (12)

X (2)

X (10)

X (6)

X (14)

X (1)

X (9)

X (5)

X (13)

X (3)

X (11)

X (7)

X (15)

- j

- j

- j

- j

- j- j

- j

- j

- j

F i g u r e 1 6 . 6 : L e n g t h - 1 6 , D e c i m a t i o n - i n - F r e q u e n c y , I n - o r d e r i n p u t , S p l i t - R a d i x F F T

x(0)

x(1)

x(2)

x(3)

x(4)

x(5)

x(6)

x(7)

x(8)

x(9)

x(10)

x(11)

x(12)

x(13)

x(14)

x(15)

W 0

W 1

W 2

W 2

W 0

W 3

W 0

W 4

W 6

W 3

W 6

W 9

X (0)

X (8)

X (4)

X (12)

X (2)

X (10)

X (6)

X (14)

X (1)

X (9)

X (5)

X (13)

X (3)

X (11)

X (7)

X (15)

F i g u r e 1 6 . 7 : L e n g t h - 1 6 , D e c i m a t i o n - i n - F r e q u e n c y , S p l i t - R a d i x w i t h s p e c i a l B F s F F T

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 171/254

A p p e n d i x 2 : O p e r a t i o n C o u n t s f o r

G e n e r a l L e n g t h F F T

1

1 7 . 1 F i g u r e s

T h e G l a s s m a n - F e r g u s o n F F T i s a c o m p a c t i m p l e m e n t a t i o n o f a m i x e d - r a d i x C o o l e y - T u k e y

F F T w i t h t h e s h o r t D F T s f o r e a c h f a c t o r b e i n g c a l c u l a t e d b y a G o e r t z e l - l i k e a l g o r i t h m . T h i s

m e a n s t h e r e a r e t w i d d l e f a c t o r m u l t i p l i c a t i o n s e v e n w h e n t h e f a c t o r s a r e r e l a t i v e l y p r i m e ,

h o w e v e r , t h e i n d e x i n g i s s i m p l e a n d c o m p a c t . I t w i l l c a l c u l a t e t h e D F T o f a s e q u e n c e o f a n y

l e n g t h b u t i s e c i e n t o n l y i f t h e l e n g t h i s h i g h l y c o m p o s i t e . T h e g u r e s c o n t a i n p l o t s o f

t h e n u m b e r o f o a t i n g p o i n t m u l t i p l i c a t i o n s p l u s a d d i t i o n s v s . t h e l e n g t h o f t h e F F T . T h e

n u m b e r s o n t h e v e r t i c a l a x i s h a v e r e l a t i v e m e a n i n g b u t n o a b s o l u t e m e a n i n g .

F i g u r e 1 7 . 1 : F l o p - C o u n t v s L e n g t h f o r t h e G l a s s m a n - F e r g u s o n F F T

N o t e t h e p a r a b o l i c s h a p e o f t h e c u r v e f o r c e r t a i n v a l u e s . T h e u p p e r c u r v e i s f o r p r i m e l e n g t h s ,

t h e n e x t o n e i s f o r l e n g t h s t h a t a r e t w o t i m e s a p r i m e , a n d t h e n e x t o n e i s f o r l e n g t h s t h a t

a r e f o r t h r e e t i m e s a p r i m e , e t c . T h e s h a p e o f t h e l o w e r b o u n d a r y i s r o u g h l y N l o g N . T h e

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 5 3 / 1 . 8 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

1 6 5

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 172/254

1 6 6

A P P E N D I X

p r o g r a m t h a t g e n e r a t e d t h e s e t w o g u r e s u s e d a C o o l e y - T u k e y F F T i f t h e l e n g t h i s t w o t o

a p o w e r w h i c h a c c o u n t s f o r t h e p o i n t s t h a t a r e b e l o w t h e m a j o r l o w e r b o u n d a r y .

F i g u r e 1 7 . 2 : F l o p - C o u n t v s L e n g t h f o r t h e G l a s s m a n - F e r g u s o n F F T

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 173/254

A p p e n d i x 3 : F F T C o m p u t e r P r o g r a m s

1

1 8 . 1 G o e r t z e l A l g o r i t h m

A F O R T R A N i m p l e m e n t a t i o n o f t h e r s t - o r d e r G o e r t z e l a l g o r i t h m w i t h i n - o r d e r i n p u t a s

g i v e n i n ( ) a n d [ 6 8 ] i s g i v e n b e l o w .

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 3 9 7 / 1 . 5 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

1 6 7

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 174/254

1 6 8

A P P E N D I X

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C G O E R T Z E L ' S D F T A L G O R I T H M

C F i r s t o r d e r , i n p u t i n o r d e r

C C . S . B U R R U S , S E P T 1 9 8 3

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S U B R O U T I N E D F T ( X , Y , A , B , N )

R E A L X ( 2 6 0 ) , Y ( 2 6 0 ) , A ( 2 6 0 ) , B ( 2 6 0 )

Q = 6 . 2 8 3 1 8 5 3 0 7 1 7 9 5 8 6 / N

D O 2 0 J = 1 , N

C = C O S ( Q * ( J - 1 ) )

S = S I N ( Q * ( J - 1 ) )

A T = X ( 1 )

B T = Y ( 1 )

D O 3 0 I = 2 , N

T = C * A T - S * B T + X ( I )

B T = C * B T + S * A T + Y ( I )

A T = T

3 0 C O N T I N U E

A ( J ) = C * A T - S * B T

B ( J ) = C * B T + S * A T

2 0 C O N T I N U E

R E T U R N

E N D

L i s t i n g 1 8 . 1 : F i r s t O r d e r G o e r t z e l A l g o r i t h m

1 8 . 2 S e c o n d O r d e r G o e r t z e l A l g o r i t h m

B e l o w i s t h e p r o g r a m f o r a s e c o n d o r d e r G o e r t z e l a l g o r i t h m .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 175/254

A P P E N D I X 1 6 9

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C G O E R T Z E L ' S D F T A L G O R I T H M

C S e c o n d o r d e r , i n p u t i n o r d e r

C C . S . B U R R U S , S E P T 1 9 8 3

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S U B R O U T I N E D F T ( X , Y , A , B , N )

R E A L X ( 2 6 0 ) , Y ( 2 6 0 ) , A ( 2 6 0 ) , B ( 2 6 0 )

C

Q = 6 . 2 8 3 1 8 5 3 0 7 1 7 9 5 8 6 / N

D O 2 0 J = 1 , N

C = C O S ( Q * ( J - 1 ) )

S = S I N ( Q * ( J - 1 ) )

C C = 2 * C

A 2 = 0

B 2 = 0

A 1 = X ( 1 )

B 1 = Y ( 1 )

D O 3 0 I = 2 , N

T = A 1

A 1 = C C * A 1 - A 2 + X ( I )

A 2 = T

T = B 1

B 1 = C C * B 1 - B 2 + Y ( I )

B 2 = T

3 0 C O N T I N U E

A ( J ) = C * A 1 - A 2 - S * B 1

B ( J ) = C * B 1 - B 2 + S * A 1

2 0 C O N T I N U E

C

R E T U R N

E N D

L i s t i n g 1 8 . 2 : S e c o n d O r d e r G o e r t z e l A l g o r i t h m

1 8 . 3 S e c o n d O r d e r G o e r t z e l A l g o r i t h m 2

S e c o n d o r d e r G o e r t z e l a l g o r i t h m t h a t c a l c u l a t e s t w o o u t p u t s a t a t i m e .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 176/254

1 7 0

A P P E N D I X

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C G O E R T Z E L ' S D F T A L G O R I T H M , S e c o n d o r d e r

C I n p u t i n o r d e r , o u t p u t b y t w o s ; C . S . B u r r u s , S E P T 1 9 9 1

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S U B R O U T I N E D F T ( X , Y , A , B , N )

R E A L X ( 2 6 0 ) , Y ( 2 6 0 ) , A ( 2 6 0 ) , B ( 2 6 0 )

Q = 6 . 2 8 3 1 8 5 3 0 7 1 7 9 5 8 6 / N

D O 2 0 J = 1 , N / 2 + 1

C = C O S ( Q * ( J - 1 ) )

S = S I N ( Q * ( J - 1 ) )

C C = 2 * C

A 2 = 0

B 2 = 0

A 1 = X ( 1 )

B 1 = Y ( 1 )

D O 3 0 I = 2 , N

T = A 1

A 1 = C C * A 1 - A 2 + X ( I )

A 2 = T

T = B 1

B 1 = C C * B 1 - B 2 + Y ( I )

B 2 = T

3 0 C O N T I N U E

A 2 = C * A 1 - A 2

T = S * B 1

A ( J ) = A 2 - T

A ( N - J + 2 ) = A 2 + T

B 2 = C * B 1 - B 2

T = S * A 1

B ( J ) = B 2 + T

B ( N - J + 2 ) = B 2 - T

2 0 C O N T I N U E

R E T U R N

E N D

F i g u r e . S e c o n d O r d e r G o e r t z e l C a l c u l a t i n g T w o O u t p u t s a t a T i m e

1 8 . 4 B a s i c Q F T A l g o r i t h m

A F O R T R A N i m p l e m e n t a t i o n o f t h e b a s i c Q F T a l g o r i t h m i s g i v e n b e l o w t o s h o w h o w t h e

t h e o r y i s i m p l e m e n t e d . T h e p r o g r a m i s w r i t t e n f o r c l a r i t y , n o t t o m i n i m i z e t h e n u m b e r o f

o a t i n g p o i n t o p e r a t i o n s .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 177/254

A P P E N D I X 1 7 1

C

S U B R O U T I N E Q D F T ( X , Y , X X , Y Y , N N )

R E A L X ( 0 : 2 6 0 ) , Y ( 0 : 2 6 0 ) , X X ( 0 : 2 6 0 ) , Y Y ( 0 : 2 6 0 )

C

N 1 = N N - 1

N 2 = N 1 / 2

N 2 1 = N N / 2

Q = 6 . 2 8 3 1 8 5 3 0 8 / N N

D O 2 K = 0 , N 2 1

S S X = X ( 0 )

S S Y = Y ( 0 )

S D X = 0

S D Y = 0

I F ( M O D ( N N , 2 ) . E Q . 0 ) T H E N

S S X = S S X + C O S ( 3 . 1 4 2 6 * K ) * X ( N 2 1 )

S S Y = S S Y + C O S ( 3 . 1 4 2 6 * K ) * Y ( N 2 1 )

E N D I F

D O 3 N = 1 , N 2

S S X = S S X + ( X ( N ) + X ( N N - N ) ) * C O S ( Q * N * K )

S S Y = S S Y + ( Y ( N ) + Y ( N N - N ) ) * C O S ( Q * N * K )

S D X = S D X + ( X ( N ) - X ( N N - N ) ) * S I N ( Q * N * K )

S D Y = S D Y + ( Y ( N ) - Y ( N N - N ) ) * S I N ( Q * N * K )

3 C O N T I N U E

X X ( K ) = S S X + S D Y

Y Y ( K ) = S S Y - S D X

X X ( N N - K ) = S S X - S D Y

Y Y ( N N - K ) = S S Y + S D X

2 C O N T I N U E

R E T U R N

E N D

L i s t i n g 1 8 . 3 : S i m p l e Q F T F o r t r a n P r o g r a m

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 178/254

1 7 2

A P P E N D I X

1 8 . 5 B a s i c R a d i x - 2 F F T A l g o r i t h m

B e l o w i s t h e F o r t r a n c o d e f o r a s i m p l e D e c i m a t i o n - i n - F r e q u e n c y , R a d i x - 2 , o n e b u t t e r y

C o o l e y - T u k e y F F T f o l l o w e d b y a b i t - r e v e r s i n g u n s c r a m b l e r .

C

C A C O O L E Y - T U K E Y R A D I X - 2 , D I F F F T P R O G R A M

C C O M P L E X I N P U T D A T A I N A R R A Y S X A N D Y

C C . S . B U R R U S , R I C E U N I V E R S I T Y , S E P T 1 9 8 3

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S U B R O U T I N E F F T ( X , Y , N , M )

R E A L X ( 1 ) , Y ( 1 )

C - - - - - - - - - - - - - - M A I N F F T L O O P S - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

N 2 = N

D O 1 0 K = 1 , M

N 1 = N 2

N 2 = N 2 / 2

E = 6 . 2 8 3 1 8 5 3 0 7 1 7 9 5 8 6 / N 1

A = 0

D O 2 0 J = 1 , N 2

C = C O S ( A )

S = S I N ( A )

A = J * E

D O 3 0 I = J , N , N 1

L = I + N 2

X T = X ( I ) - X ( L )

X ( I ) = X ( I ) + X ( L )

Y T = Y ( I ) - Y ( L )

Y ( I ) = Y ( I ) + Y ( L )

X ( L ) = C * X T + S * Y T

Y ( L ) = C * Y T - S * X T

3 0 C O N T I N U E

2 0 C O N T I N U E

1 0 C O N T I N U E

C

C - - - - - - - - - - - - D I G I T R E V E R S E C O U N T E R - - - - - - - - - - - - - - - - -

1 0 0 J = 1

N 1 = N - 1

D O 1 0 4 I = 1 , N 1

I F ( I . G E . J ) G O X T O 1 0 1

X T = X ( J )

X ( J ) = X ( I )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 179/254

A P P E N D I X 1 7 3

X ( I ) = X T

X T = Y ( J )

Y ( J ) = Y ( I )

Y ( I ) = X T

1 0 1 K = N / 2

1 0 2 I F ( K . G E . J ) G O T O 1 0 3

J = J - K

K = K / 2

G O T O 1 0 2

1 0 3 J = J + K

1 0 4 C O N T I N U E

R E T U R N

E N D

F i g u r e : R a d i x - 2 , D I F , O n e B u t t e r f l y C o o l e y - T u k e y F F T

1 8 . 6 B a s i c D I T R a d i x - 2 F F T A l g o r i t h m

B e l o w i s t h e F o r t r a n c o d e f o r a s i m p l e D e c i m a t i o n - i n - T i m e , R a d i x - 2 , o n e b u t t e r y C o o l e y -

T u k e y F F T p r e c e e d e d b y a b i t - r e v e r s i n g s c r a m b l e r .

C

C A C O O L E Y - T U K E Y R A D I X - 2 , D I T F F T P R O G R A M

C C O M P L E X I N P U T D A T A I N A R R A Y S X A N D Y

C C . S . B U R R U S , R I C E U N I V E R S I T Y , S E P T 1 9 8 5

C

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S U B R O U T I N E F F T ( X , Y , N , M )

R E A L X ( 1 ) , Y ( 1 )

C - - - - - - - - - - - - D I G I T R E V E R S E C O U N T E R - - - - - - - - - - - - - - - - -

C

1 0 0 J = 1

N 1 = N - 1

D O 1 0 4 I = 1 , N 1

I F ( I . G E . J ) G O T O 1 0 1

X T = X ( J )

X ( J ) = X ( I )

X ( I ) = X T

X T = Y ( J )

Y ( J ) = Y ( I )

Y ( I ) = X T

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 180/254

1 7 4

A P P E N D I X

1 0 1 K = N / 2

1 0 2 I F ( K . G E . J ) G O T O 1 0 3

J = J - K

K = K / 2

G O T O 1 0 2

1 0 3 J = J + K

1 0 4 C O N T I N U E

C - - - - - - - - - - - - - - M A I N F F T L O O P S - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

N 2 = 1

D O 1 0 K = 1 , M

E = 6 . 2 8 3 1 8 5 3 0 7 1 7 9 5 8 6 / ( 2 * N 2 )

A = 0

D O 2 0 J = 1 , N 2

C = C O S ( A )

S = S I N ( A )

A = J * E

D O 3 0 I = J , N , 2 * N 2

L = I + N 2

X T = C * X ( L ) + S * Y ( L )

Y T = C * Y ( L ) - S * X ( L )

X ( L ) = X ( I ) - X T

X ( I ) = X ( I ) + X T

Y ( L ) = Y ( I ) - Y T

Y ( I ) = Y ( I ) + Y T

3 0 C O N T I N U E

2 0 C O N T I N U E

N 2 = N 2 + N 2

1 0 C O N T I N U E

C

R E T U R N

E N D

1 8 . 7 D I F R a d i x - 2 F F T A l g o r i t h m

B e l o w i s t h e F o r t r a n c o d e f o r a D e c i m a t i o n - i n - F r e q u e n c y , R a d i x - 2 , t h r e e b u t t e r y C o o l e y -

T u k e y F F T f o l l o w e d b y a b i t - r e v e r s i n g u n s c r a m b l e r .

C A C O O L E Y - T U K E Y R A D I X 2 , D I F F F T P R O G R A M

C T H R E E - B F , M U L T B Y 1 A N D J A R E R E M O V E D

C C O M P L E X I N P U T D A T A I N A R R A Y S X A N D Y

C T A B L E L O O K - U P O F W V A L U E S

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 181/254

A P P E N D I X 1 7 5

C C . S . B U R R U S , R I C E U N I V E R S I T Y , S E P T 1 9 8 3

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S U B R O U T I N E F F T ( X , Y , N , M , W R , W I )

R E A L X ( 1 ) , Y ( 1 ) , W R ( 1 ) , W I ( 1 )

C - - - - - - - - - - - - - - M A I N F F T L O O P S - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

N 2 = N

D O 1 0 K = 1 , M

N 1 = N 2

N 2 = N 2 / 2

J T = N 2 / 2 + 1

D O 1 I = 1 , N , N 1

L = I + N 2

T = X ( I ) - X ( L )

X ( I ) = X ( I ) + X ( L )

X ( L ) = T

T = Y ( I ) - Y ( L )

Y ( I ) = Y ( I ) + Y ( L )

Y ( L ) = T

1 C O N T I N U E

I F ( K . E Q . M ) G O T O 1 0

I E = N / N 1

I A = 1

D O 2 0 J = 2 , N 2

I A = I A + I E

I F ( J . E Q . J T ) G O T O 5 0

C = W R ( I A )

S = W I ( I A )

D O 3 0 I = J , N , N 1

L = I + N 2

T = X ( I ) - X ( L )

X ( I ) = X ( I ) + X ( L )

T Y = Y ( I ) - Y ( L )

Y ( I ) = Y ( I ) + Y ( L )

X ( L ) = C * T + S * T Y

Y ( L ) = C * T Y - S * T

3 0 C O N T I N U E

G O T O 2 5

5 0 D O 4 0 I = J , N , N 1

L = I + N 2

T = X ( I ) - X ( L )

X ( I ) = X ( I ) + X ( L )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 182/254

1 7 6

A P P E N D I X

T Y = Y ( I ) - Y ( L )

Y ( I ) = Y ( I ) + Y ( L )

X ( L ) = T Y

Y ( L ) = - T

4 0 C O N T I N U E

2 5 A = J * E

2 0 C O N T I N U E

1 0 C O N T I N U E

C - - - - - - - - - - - - D I G I T R E V E R S E C O U N T E R G o e s h e r e - - - - - - - - - -

R E T U R N

E N D

1 8 . 8 B a s i c D I F R a d i x - 4 F F T A l g o r i t h m

B e l o w i s t h e F o r t r a n c o d e f o r a s i m p l e D e c i m a t i o n - i n - F r e q u e n c y , R a d i x - 4 , o n e b u t t e r y

C o o l e y - T u k e y F F T t o b e f o l l o w e d b y a n u n s c r a m b l e r .

C A C O O L E Y - T U K E Y R A D I X - 4 D I F F F T P R O G R A M

C C O M P L E X I N P U T D A T A I N A R R A Y S X A N D Y

C L E N G T H I S N = 4 * * M

C C . S . B U R R U S , R I C E U N I V E R S I T Y , S E P T 1 9 8 3

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S U B R O U T I N E F F T 4 ( X , Y , N , M )

R E A L X ( 1 ) , Y ( 1 )

C - - - - - - - - - - - - - - M A I N F F T L O O P S - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

N 2 = N

D O 1 0 K = 1 , M

N 1 = N 2

N 2 = N 2 / 4

E = 6 . 2 8 3 1 8 5 3 0 7 1 7 9 5 8 6 / N 1

A = 0

C - - - - - - - - - - - - - - - - - - - - M A I N B U T T E R F L I E S - - - - - - - - - - - - - - - - - - -

D O 2 0 J = 1 , N 2

B = A + A

C = A + B

C O 1 = C O S ( A )

C O 2 = C O S ( B )

C O 3 = C O S ( C )

S I 1 = S I N ( A )

S I 2 = S I N ( B )

S I 3 = S I N ( C )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 183/254

A P P E N D I X 1 7 7

A = J * E

C - - - - - - - - - - - - - - - - B U T T E R F L I E S W I T H S A M E W - - - - - - - - - - - - - - -

D O 3 0 I = J , N , N 1

I 1 = I + N 2

I 2 = I 1 + N 2

I 3 = I 2 + N 2

R 1 = X ( I ) + X ( I 2 )

R 3 = X ( I ) - X ( I 2 )

S 1 = Y ( I ) + Y ( I 2 )

S 3 = Y ( I ) - Y ( I 2 )

R 2 = X ( I 1 ) + X ( I 3 )

R 4 = X ( I 1 ) - X ( I 3 )

S 2 = Y ( I 1 ) + Y ( I 3 )

S 4 = Y ( I 1 ) - Y ( I 3 )

X ( I ) = R 1 + R 2

R 2 = R 1 - R 2

R 1 = R 3 - S 4

R 3 = R 3 + S 4

Y ( I ) = S 1 + S 2

S 2 = S 1 - S 2

S 1 = S 3 + R 4

S 3 = S 3 - R 4

X ( I 1 ) = C O 1 * R 3 + S I 1 * S 3

Y ( I 1 ) = C O 1 * S 3 - S I 1 * R 3

X ( I 2 ) = C O 2 * R 2 + S I 2 * S 2

Y ( I 2 ) = C O 2 * S 2 - S I 2 * R 2

X ( I 3 ) = C O 3 * R 1 + S I 3 * S 1

Y ( I 3 ) = C O 3 * S 1 - S I 3 * R 1

3 0 C O N T I N U E

2 0 C O N T I N U E

1 0 C O N T I N U E

C - - - - - - - - - - - D I G I T R E V E R S E C O U N T E R g o e s h e r e - - - - -

R E T U R N

E N D

1 8 . 9 B a s i c D I F R a d i x - 4 F F T A l g o r i t h m

B e l o w i s t h e F o r t r a n c o d e f o r a D e c i m a t i o n - i n - F r e q u e n c y , R a d i x - 4 , t h r e e b u t t e r y C o o l e y -

T u k e y F F T f o l l o w e d b y a b i t - r e v e r s i n g u n s c r a m b l e r . T w i d d l e f a c t o r s a r e p r e c a l c u l a t e d a n d

s t o r e d i n a r r a y s W R a n d W I .

C

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 184/254

1 7 8

A P P E N D I X

C A C O O L E Y - T U K E Y R A D I X - 4 D I F F F T P R O G R A M

C T H R E E B F , M U L T I P L I C A T I O N S B Y 1 , J , E T C . A R E R E M O V E D

C C O M P L E X I N P U T D A T A I N A R R A Y S X A N D Y

C L E N G T H I S N = 4 * * M

C T A B L E L O O K U P O F W V A L U E S

C

C C . S . B U R R U S , R I C E U N I V E R S I T Y , S E P T 1 9 8 3

C

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

S U B R O U T I N E F F T 4 ( X , Y , N , M , W R , W I )

R E A L X ( 1 ) , Y ( 1 ) , W R ( 1 ) , W I ( 1 )

D A T A C 2 1 / 0 . 7 0 7 1 0 6 7 7 8 /

C

C - - - - - - - - - - - - - - M A I N F F T L O O P S - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

N 2 = N

D O 1 0 K = 1 , M

N 1 = N 2

N 2 = N 2 / 4

J T = N 2 / 2 + 1

C - - - - - - - - - - - - - - - S P E C I A L B U T T E R F L Y F O R W = 1 - - - - - - - - - - - - - - -

D O 1 I = 1 , N , N 1

I 1 = I + N 2

I 2 = I 1 + N 2

I 3 = I 2 + N 2

R 1 = X ( I ) + X ( I 2 )

R 3 = X ( I ) - X ( I 2 )

S 1 = Y ( I ) + Y ( I 2 )

S 3 = Y ( I ) - Y ( I 2 )

R 2 = X ( I 1 ) + X ( I 3 )

R 4 = X ( I 1 ) - X ( I 3 )

S 2 = Y ( I 1 ) + Y ( I 3 )

S 4 = Y ( I 1 ) - Y ( I 3 )

C

X ( I ) = R 1 + R 2

X ( I 2 ) = R 1 - R 2

X ( I 3 ) = R 3 - S 4

X ( I 1 ) = R 3 + S 4

C

Y ( I ) = S 1 + S 2

Y ( I 2 ) = S 1 - S 2

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 185/254

A P P E N D I X 1 7 9

Y ( I 3 ) = S 3 + R 4

Y ( I 1 ) = S 3 - R 4

C

1 C O N T I N U E

I F ( K . E Q . M ) G O T O 1 0

I E = N / N 1

I A 1 = 1

C - - - - - - - - - - - - - - G E N E R A L B U T T E R F L Y - - - - - - - - - - - - - - - - -

D O 2 0 J = 2 , N 2

I A 1 = I A 1 + I E

I F ( J . E Q . J T ) G O T O 5 0

I A 2 = I A 1 + I A 1 - 1

I A 3 = I A 2 + I A 1 - 1

C O 1 = W R ( I A 1 )

C O 2 = W R ( I A 2 )

C O 3 = W R ( I A 3 )

S I 1 = W I ( I A 1 )

S I 2 = W I ( I A 2 )

S I 3 = W I ( I A 3 )

C - - - - - - - - - - - - - - - - B U T T E R F L I E S W I T H S A M E W - - - - - - - - - - - - - - -

D O 3 0 I = J , N , N 1

I 1 = I + N 2

I 2 = I 1 + N 2

I 3 = I 2 + N 2

R 1 = X ( I ) + X ( I 2 )

R 3 = X ( I ) - X ( I 2 )

S 1 = Y ( I ) + Y ( I 2 )

S 3 = Y ( I ) - Y ( I 2 )

R 2 = X ( I 1 ) + X ( I 3 )

R 4 = X ( I 1 ) - X ( I 3 )

S 2 = Y ( I 1 ) + Y ( I 3 )

S 4 = Y ( I 1 ) - Y ( I 3 )

C

X ( I ) = R 1 + R 2

R 2 = R 1 - R 2

R 1 = R 3 - S 4

R 3 = R 3 + S 4

C

Y ( I ) = S 1 + S 2

S 2 = S 1 - S 2

S 1 = S 3 + R 4

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 186/254

1 8 0

A P P E N D I X

S 3 = S 3 - R 4

C

X ( I 1 ) = C O 1 * R 3 + S I 1 * S 3

Y ( I 1 ) = C O 1 * S 3 - S I 1 * R 3

X ( I 2 ) = C O 2 * R 2 + S I 2 * S 2

Y ( I 2 ) = C O 2 * S 2 - S I 2 * R 2

X ( I 3 ) = C O 3 * R 1 + S I 3 * S 1

Y ( I 3 ) = C O 3 * S 1 - S I 3 * R 1

3 0 C O N T I N U E

G O T O 2 0

C - - - - - - - - - - - - - - - - - - S P E C I A L B U T T E R F L Y F O R W = J - - - - - - - - - - -

5 0 D O 4 0 I = J , N , N 1

I 1 = I + N 2

I 2 = I 1 + N 2

I 3 = I 2 + N 2

R 1 = X ( I ) + X ( I 2 )

R 3 = X ( I ) - X ( I 2 )

S 1 = Y ( I ) + Y ( I 2 )

S 3 = Y ( I ) - Y ( I 2 )

R 2 = X ( I 1 ) + X ( I 3 )

R 4 = X ( I 1 ) - X ( I 3 )

S 2 = Y ( I 1 ) + Y ( I 3 )

S 4 = Y ( I 1 ) - Y ( I 3 )

C

X ( I ) = R 1 + R 2

Y ( I 2 ) = - R 1 + R 2

R 1 = R 3 - S 4

R 3 = R 3 + S 4

C

Y ( I ) = S 1 + S 2

X ( I 2 ) = S 1 - S 2

S 1 = S 3 + R 4

S 3 = S 3 - R 4

C

X ( I 1 ) = ( S 3 + R 3 ) * C 2 1

Y ( I 1 ) = ( S 3 - R 3 ) * C 2 1

X ( I 3 ) = ( S 1 - R 1 ) * C 2 1

Y ( I 3 ) = - ( S 1 + R 1 ) * C 2 1

4 0 C O N T I N U E

2 0 C O N T I N U E

1 0 C O N T I N U E

C - - - - - - - - - - - D I G I T R E V E R S E C O U N T E R - - - - - - - - - -

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 187/254

A P P E N D I X 1 8 1

1 0 0 J = 1

N 1 = N - 1

D O 1 0 4 I = 1 , N 1

I F ( I . G E . J ) G O T O 1 0 1

R 1 = X ( J )

X ( J ) = X ( I )

X ( I ) = R 1

R 1 = Y ( J )

Y ( J ) = Y ( I )

Y ( I ) = R 1

1 0 1 K = N / 4

1 0 2 I F ( K * 3 . G E . J ) G O T O 1 0 3

J = J - K * 3

K = K / 4

G O T O 1 0 2

1 0 3 J = J + K

1 0 4 C O N T I N U E

R E T U R N

E N D

1 8 . 1 0 B a s i c D I F S p l i t R a d i x F F T A l g o r i t h m

B e l o w i s t h e F o r t r a n c o d e f o r a s i m p l e D e c i m a t i o n - i n - F r e q u e n c y , S p l i t - R a d i x , o n e b u t t e r y

F F T t o b e f o l l o w e d b y a b i t - r e v e r s i n g u n s c r a m b l e r .

C A D U H A M E L - H O L L M A N N S P L I T R A D I X F F T P R O G R A M

C F R O M : E L E C T R O N I C S L E T T E R S , J A N . 5 , 1 9 8 4

C C O M P L E X I N P U T D A T A I N A R R A Y S X A N D Y

C L E N G T H I S N = 2 * * M

C C . S . B U R R U S , R I C E U N I V E R S I T Y , M A R C H 1 9 8 4

C

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S U B R O U T I N E F F T ( X , Y , N , M )

R E A L X ( 1 ) , Y ( 1 )

C - - - - - - - - - - - - - - M A I N F F T L O O P S - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

N 1 = N

N 2 = N / 2

I P = 0

I S = 1

A = 6 . 2 8 3 1 8 5 3 0 7 1 7 9 5 8 6 / N

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 188/254

1 8 2

A P P E N D I X

D O 1 0 K = 1 , M - 1

J D = N 1 + N 2

N 1 = N 2

N 2 = N 2 / 2

J 0 = N 1 * I P + 1

I P = 1 - I P

D O 2 0 J = J 0 , N , J D

J S = 0

J T = J + N 2 - 1

D O 3 0 I = J , J T

J S S = J S * I S

J S = J S + 1

C 1 = C O S ( A * J S S )

C 3 = C O S ( 3 * A * J S S )

S 1 = - S I N ( A * J S S )

S 3 = - S I N ( 3 * A * J S S )

I 1 = I + N 2

I 2 = I 1 + N 2

I 3 = I 2 + N 2

R 1 = X ( I ) + X ( I 2 )

R 2 = X ( I ) - X ( I 2 )

R 3 = X ( I 1 ) - X ( I 3 )

X ( I 2 ) = X ( I 1 ) + X ( I 3 )

X ( I 1 ) = R 1

C

R 1 = Y ( I ) + Y ( I 2 )

R 4 = Y ( I ) - Y ( I 2 )

R 5 = Y ( I 1 ) - Y ( I 3 )

Y ( I 2 ) = Y ( I 1 ) + Y ( I 3 )

Y ( I 1 ) = R 1

C

R 1 = R 2 - R 5

R 2 = R 2 + R 5

R 5 = R 4 + R 3

R 4 = R 4 - R 3

C

X ( I ) = C 1 * R 1 + S 1 * R 5

Y ( I ) = C 1 * R 5 - S 1 * R 1

X ( I 3 ) = C 3 * R 2 + S 3 * R 4

Y ( I 3 ) = C 3 * R 4 - S 3 * R 2

3 0 C O N T I N U E

2 0 C O N T I N U E

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 189/254

A P P E N D I X 1 8 3

I S = I S + I S

1 0 C O N T I N U E

I P = 1 - I P

J 0 = 2 - I P

D O 5 I = J 0 , N - 1 , 3

I 1 = I + 1

R 1 = X ( I ) + X ( I 1 )

X ( I 1 ) = X ( I ) - X ( I 1 )

X ( I ) = R 1

R 1 = Y ( I ) + Y ( I 1 )

Y ( I 1 ) = Y ( I ) - Y ( I 1 )

Y ( I ) = R 1

5 C O N T I N U E

R E T U R N

E N D

1 8 . 1 1 D I F S p l i t R a d i x F F T A l g o r i t h m

B e l o w i s t h e F o r t r a n c o d e f o r a s i m p l e D e c i m a t i o n - i n - F r e q u e n c y , S p l i t - R a d i x , t w o b u t t e r y

F F T t o b e f o l l o w e d b y a b i t - r e v e r s i n g u n s c r a m b l e r . T w i d d l e f a c t o r s a r e p r e c a l c u l a t e d a n d

s t o r e d i n a r r a y s W R a n d W I .

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C

C A D U H A M E L - H O L L M A N S P L I T R A D I X F F T C

C R E F : E L E C T R O N I C S L E T T E R S , J A N . 5 , 1 9 8 4 C

C C O M P L E X I N P U T A N D O U T P U T D A T A I N A R R A Y S X A N D Y C

C L E N G T H I S N = 2 * * M , O U T P U T I N B I T - R E V E R S E D O R D E R C

C T W O B U T T E R F L I E S T O R E M O V E M U L T S B Y U N I T Y C

C S P E C I A L L A S T T W O S T A G E S C

C T A B L E L O O K - U P O F S I N E A N D C O S I N E V A L U E S C

C C . S . B U R R U S , R I C E U N I V . A P R I L 1 9 8 5 C

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C

C

S U B R O U T I N E F F T ( X , Y , N , M , W R , W I )

R E A L X ( 1 ) , Y ( 1 ) , W R ( 1 ) , W I ( 1 )

C 8 1 = 0 . 7 0 7 1 0 6 7 7 8

N 2 = 2 * N

D O 1 0 K = 1 , M - 3

I S = 1

I D = N 2

N 2 = N 2 / 2

N 4 = N 2 / 4

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 190/254

1 8 4

A P P E N D I X

2 D O 1 I 0 = I S , N - 1 , I D

I 1 = I 0 + N 4

I 2 = I 1 + N 4

I 3 = I 2 + N 4

R 1 = X ( I 0 ) - X ( I 2 )

X ( I 0 ) = X ( I 0 ) + X ( I 2 )

R 2 = Y ( I 1 ) - Y ( I 3 )

Y ( I 1 ) = Y ( I 1 ) + Y ( I 3 )

X ( I 2 ) = R 1 + R 2

R 2 = R 1 - R 2

R 1 = X ( I 1 ) - X ( I 3 )

X ( I 1 ) = X ( I 1 ) + X ( I 3 )

X ( I 3 ) = R 2

R 2 = Y ( I 0 ) - Y ( I 2 )

Y ( I 0 ) = Y ( I 0 ) + Y ( I 2 )

Y ( I 2 ) = - R 1 + R 2

Y ( I 3 ) = R 1 + R 2

1 C O N T I N U E

I S = 2 * I D - N 2 + 1

I D = 4 * I D

I F ( I S . L T . N ) G O T O 2

I E = N / N 2

I A 1 = 1

D O 2 0 J = 2 , N 4

I A 1 = I A 1 + I E

I A 3 = 3 * I A 1 - 2

C C 1 = W R ( I A 1 )

S S 1 = W I ( I A 1 )

C C 3 = W R ( I A 3 )

S S 3 = W I ( I A 3 )

I S = J

I D = 2 * N 2

4 0 D O 3 0 I 0 = I S , N - 1 , I D

I 1 = I 0 + N 4

I 2 = I 1 + N 4

I 3 = I 2 + N 4

C

R 1 = X ( I 0 ) - X ( I 2 )

X ( I 0 ) = X ( I 0 ) + X ( I 2 )

R 2 = X ( I 1 ) - X ( I 3 )

X ( I 1 ) = X ( I 1 ) + X ( I 3 )

S 1 = Y ( I 0 ) - Y ( I 2 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 191/254

A P P E N D I X 1 8 5

Y ( I 0 ) = Y ( I 0 ) + Y ( I 2 )

S 2 = Y ( I 1 ) - Y ( I 3 )

Y ( I 1 ) = Y ( I 1 ) + Y ( I 3 )

C

S 3 = R 1 - S 2

R 1 = R 1 + S 2

S 2 = R 2 - S 1

R 2 = R 2 + S 1

X ( I 2 ) = R 1 * C C 1 - S 2 * S S 1

Y ( I 2 ) = - S 2 * C C 1 - R 1 * S S 1

X ( I 3 ) = S 3 * C C 3 + R 2 * S S 3

Y ( I 3 ) = R 2 * C C 3 - S 3 * S S 3

3 0 C O N T I N U E

I S = 2 * I D - N 2 + J

I D = 4 * I D

I F ( I S . L T . N ) G O T O 4 0

2 0 C O N T I N U E

1 0 C O N T I N U E

C

I S = 1

I D = 3 2

5 0 D O 6 0 I = I S , N , I D

I 0 = I + 8

D O 1 5 J = 1 , 2

R 1 = X ( I 0 ) + X ( I 0 + 2 )

R 3 = X ( I 0 ) - X ( I 0 + 2 )

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

R 4 = X ( I 0 + 1 ) - X ( I 0 + 3 )

X ( I 0 ) = R 1 + R 2

X ( I 0 + 1 ) = R 1 - R 2

R 1 = Y ( I 0 ) + Y ( I 0 + 2 )

S 3 = Y ( I 0 ) - Y ( I 0 + 2 )

R 2 = Y ( I 0 + 1 ) + Y ( I 0 + 3 )

S 4 = Y ( I 0 + 1 ) - Y ( I 0 + 3 )

Y ( I 0 ) = R 1 + R 2

Y ( I 0 + 1 ) = R 1 - R 2

Y ( I 0 + 2 ) = S 3 - R 4

Y ( I 0 + 3 ) = S 3 + R 4

X ( I 0 + 2 ) = R 3 + S 4

X ( I 0 + 3 ) = R 3 - S 4

I 0 = I 0 + 4

1 5 C O N T I N U E

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 192/254

1 8 6

A P P E N D I X

6 0 C O N T I N U E

I S = 2 * I D - 1 5

I D = 4 * I D

I F ( I S . L T . N ) G O T O 5 0

C

I S = 1

I D = 1 6

5 5 D O 6 5 I 0 = I S , N , I D

R 1 = X ( I 0 ) + X ( I 0 + 4 )

R 5 = X ( I 0 ) - X ( I 0 + 4 )

R 2 = X ( I 0 + 1 ) + X ( I 0 + 5 )

R 6 = X ( I 0 + 1 ) - X ( I 0 + 5 )

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

R 7 = X ( I 0 + 2 ) - X ( I 0 + 6 )

R 4 = X ( I 0 + 3 ) + X ( I 0 + 7 )

R 8 = X ( I 0 + 3 ) - X ( I 0 + 7 )

T 1 = R 1 - R 3

R 1 = R 1 + R 3

R 3 = R 2 - R 4

R 2 = R 2 + R 4

X ( I 0 ) = R 1 + R 2

X ( I 0 + 1 ) = R 1 - R 2

C

R 1 = Y ( I 0 ) + Y ( I 0 + 4 )

S 5 = Y ( I 0 ) - Y ( I 0 + 4 )

R 2 = Y ( I 0 + 1 ) + Y ( I 0 + 5 )

S 6 = Y ( I 0 + 1 ) - Y ( I 0 + 5 )

S 3 = Y ( I 0 + 2 ) + Y ( I 0 + 6 )

S 7 = Y ( I 0 + 2 ) - Y ( I 0 + 6 )

R 4 = Y ( I 0 + 3 ) + Y ( I 0 + 7 )

S 8 = Y ( I 0 + 3 ) - Y ( I 0 + 7 )

T 2 = R 1 - S 3

R 1 = R 1 + S 3

S 3 = R 2 - R 4

R 2 = R 2 + R 4

Y ( I 0 ) = R 1 + R 2

Y ( I 0 + 1 ) = R 1 - R 2

X ( I 0 + 2 ) = T 1 + S 3

X ( I 0 + 3 ) = T 1 - S 3

Y ( I 0 + 2 ) = T 2 - R 3

Y ( I 0 + 3 ) = T 2 + R 3

C

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 193/254

A P P E N D I X 1 8 7

R 1 = ( R 6 - R 8 ) * C 8 1

R 6 = ( R 6 + R 8 ) * C 8 1

R 2 = ( S 6 - S 8 ) * C 8 1

S 6 = ( S 6 + S 8 ) * C 8 1

C

T 1 = R 5 - R 1

R 5 = R 5 + R 1

R 8 = R 7 - R 6

R 7 = R 7 + R 6

T 2 = S 5 - R 2

S 5 = S 5 + R 2

S 8 = S 7 - S 6

S 7 = S 7 + S 6

X ( I 0 + 4 ) = R 5 + S 7

X ( I 0 + 7 ) = R 5 - S 7

X ( I 0 + 5 ) = T 1 + S 8

X ( I 0 + 6 ) = T 1 - S 8

Y ( I 0 + 4 ) = S 5 - R 7

Y ( I 0 + 7 ) = S 5 + R 7

Y ( I 0 + 5 ) = T 2 - R 8

Y ( I 0 + 6 ) = T 2 + R 8

6 5 C O N T I N U E

I S = 2 * I D - 7

I D = 4 * I D

I F ( I S . L T . N ) G O T O 5 5

C

C - - - - - - - - - - - - B I T R E V E R S E C O U N T E R - - - - - - - - - - - - - - - - -

C

1 0 0 J = 1

N 1 = N - 1

D O 1 0 4 I = 1 , N 1

I F ( I . G E . J ) G O T O 1 0 1

X T = X ( J )

X ( J ) = X ( I )

X ( I ) = X T

X T = Y ( J )

Y ( J ) = Y ( I )

Y ( I ) = X T

1 0 1 K = N / 2

1 0 2 I F ( K . G E . J ) G O T O 1 0 3

J = J - K

K = K / 2

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 194/254

1 8 8

A P P E N D I X

G O T O 1 0 2

1 0 3 J = J + K

1 0 4 C O N T I N U E

R E T U R N

E N D

1 8 . 1 2 P r i m e F a c t o r F F T A l g o r i t h m

B e l o w i s t h e F o r t r a n c o d e f o r a P r i m e - F a c t o r A l g o r i t h m ( P F A ) F F T a l l o w i n g f a c t o r s o f t h e

l e n g t h o f 2 , 3 , 4 , 5 , a n d 7 . I t i s f o l l o w e d b y a n u n s c r a m b l e r .

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

C A P R I M E F A C T O R F F T P R O G R A M W I T H G E N E R A L M O D U L E S

C C O M P L E X I N P U T D A T A I N A R R A Y S X A N D Y

C C O M P L E X O U T P U T I N A A N D B

C L E N G T H N W I T H M F A C T O R S I N A R R A Y N I

C N = N I ( 1 ) * N I ( 2 ) * . . . * N I ( M )

C U N S C R A M B L I N G C O N S T A N T U N S C

C U N S C = N / N I ( 1 ) + N / N I ( 2 ) + . . . + N / N I ( M ) , M O D N

C C . S . B U R R U S , R I C E U N I V E R S I T Y , J A N 1 9 8 7

C

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

S U B R O U T I N E P F A ( X , Y , N , M , N I , A , B , U N S C )

C

I N T E G E R N I ( 4 ) , I ( 1 6 ) , U N S C

R E A L X ( 1 ) , Y ( 1 ) , A ( 1 ) , B ( 1 )

C

D A T A C 3 1 , C 3 2 / - 0 . 8 6 6 0 2 5 4 0 , - 1 . 5 0 0 0 0 0 0 0 /

D A T A C 5 1 , C 5 2 / 0 . 9 5 1 0 5 6 5 2 , - 1 . 5 3 8 8 4 1 8 0 /

D A T A C 5 3 , C 5 4 / - 0 . 3 6 3 2 7 1 2 6 , 0 . 5 5 9 0 1 6 9 9 /

D A T A C 5 5 / - 1 . 2 5 /

D A T A C 7 1 , C 7 2 / - 1 . 1 6 6 6 6 6 6 7 , - 0 . 7 9 0 1 5 6 4 7 /

D A T A C 7 3 , C 7 4 / 0 . 0 5 5 8 5 4 2 6 7 , 0 . 7 3 4 3 0 2 2 /

D A T A C 7 5 , C 7 6 / 0 . 4 4 0 9 5 8 5 5 , - 0 . 3 4 0 8 7 2 9 3 /

D A T A C 7 7 , C 7 8 / 0 . 5 3 3 9 6 9 3 6 , 0 . 8 7 4 8 4 2 2 9 /

C

C - - - - - - - - - - - - - - - - - N E S T E D L O O P S - - - - - - - - - - - - - - - - - - - - - -

C

D O 1 0 K = 1 , M

N 1 = N I ( K )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 195/254

A P P E N D I X 1 8 9

N 2 = N / N 1

D O 1 5 J = 1 , N , N 1

I T = J

D O 3 0 L = 1 , N 1

I ( L ) = I T

A ( L ) = X ( I T )

B ( L ) = Y ( I T )

I T = I T + N 2

I F ( I T . G T . N ) I T = I T - N

3 0 C O N T I N U E

G O T O ( 2 0 , 1 0 2 , 1 0 3 , 1 0 4 , 1 0 5 , 2 0 , 1 0 7 ) , N 1

C

C - - - - - - - - - - - - - - - - W F T A N = 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 2 R 1 = A ( 1 )

A ( 1 ) = R 1 + A ( 2 )

A ( 2 ) = R 1 - A ( 2 )

C

R 1 = B ( 1 )

B ( 1 ) = R 1 + B ( 2 )

B ( 2 ) = R 1 - B ( 2 )

C

G O T O 2 0

C - - - - - - - - - - - - - - - - W F T A N = 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 3 R 2 = ( A ( 2 ) - A ( 3 ) ) * C 3 1

R 1 = A ( 2 ) + A ( 3 )

A ( 1 ) = A ( 1 ) + R 1

R 1 = A ( 1 ) + R 1 * C 3 2

C

S 2 = ( B ( 2 ) - B ( 3 ) ) * C 3 1

S 1 = B ( 2 ) + B ( 3 )

B ( 1 ) = B ( 1 ) + S 1

S 1 = B ( 1 ) + S 1 * C 3 2

C

A ( 2 ) = R 1 - S 2

A ( 3 ) = R 1 + S 2

B ( 2 ) = S 1 + R 2

B ( 3 ) = S 1 - R 2

C

G O T O 2 0

C

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 196/254

1 9 0

A P P E N D I X

C - - - - - - - - - - - - - - - - W F T A N = 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 4 R 1 = A ( 1 ) + A ( 3 )

T 1 = A ( 1 ) - A ( 3 )

R 2 = A ( 2 ) + A ( 4 )

A ( 1 ) = R 1 + R 2

A ( 3 ) = R 1 - R 2

C

R 1 = B ( 1 ) + B ( 3 )

T 2 = B ( 1 ) - B ( 3 )

R 2 = B ( 2 ) + B ( 4 )

B ( 1 ) = R 1 + R 2

B ( 3 ) = R 1 - R 2

C

R 1 = A ( 2 ) - A ( 4 )

R 2 = B ( 2 ) - B ( 4 )

C

A ( 2 ) = T 1 + R 2

A ( 4 ) = T 1 - R 2

B ( 2 ) = T 2 - R 1

B ( 4 ) = T 2 + R 1

C

G O T O 2 0

C

C - - - - - - - - - - - - - - - - W F T A N = 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 5 R 1 = A ( 2 ) + A ( 5 )

R 4 = A ( 2 ) - A ( 5 )

R 3 = A ( 3 ) + A ( 4 )

R 2 = A ( 3 ) - A ( 4 )

C

T = ( R 1 - R 3 ) * C 5 4

R 1 = R 1 + R 3

A ( 1 ) = A ( 1 ) + R 1

R 1 = A ( 1 ) + R 1 * C 5 5

C

R 3 = R 1 - T

R 1 = R 1 + T

C

T = ( R 4 + R 2 ) * C 5 1

R 4 = T + R 4 * C 5 2

R 2 = T + R 2 * C 5 3

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 197/254

A P P E N D I X 1 9 1

C

S 1 = B ( 2 ) + B ( 5 )

S 4 = B ( 2 ) - B ( 5 )

S 3 = B ( 3 ) + B ( 4 )

S 2 = B ( 3 ) - B ( 4 )

C

T = ( S 1 - S 3 ) * C 5 4

S 1 = S 1 + S 3

B ( 1 ) = B ( 1 ) + S 1

S 1 = B ( 1 ) + S 1 * C 5 5

C

S 3 = S 1 - T

S 1 = S 1 + T

C

T = ( S 4 + S 2 ) * C 5 1

S 4 = T + S 4 * C 5 2

S 2 = T + S 2 * C 5 3

C

A ( 2 ) = R 1 + S 2

A ( 5 ) = R 1 - S 2

A ( 3 ) = R 3 - S 4

A ( 4 ) = R 3 + S 4

C

B ( 2 ) = S 1 - R 2

B ( 5 ) = S 1 + R 2

B ( 3 ) = S 3 + R 4

B ( 4 ) = S 3 - R 4

C

G O T O 2 0

C - - - - - - - - - - - - - - - - - W F T A N = 7 - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 7 R 1 = A ( 2 ) + A ( 7 )

R 6 = A ( 2 ) - A ( 7 )

S 1 = B ( 2 ) + B ( 7 )

S 6 = B ( 2 ) - B ( 7 )

R 2 = A ( 3 ) + A ( 6 )

R 5 = A ( 3 ) - A ( 6 )

S 2 = B ( 3 ) + B ( 6 )

S 5 = B ( 3 ) - B ( 6 )

R 3 = A ( 4 ) + A ( 5 )

R 4 = A ( 4 ) - A ( 5 )

S 3 = B ( 4 ) + B ( 5 )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 198/254

1 9 2

A P P E N D I X

S 4 = B ( 4 ) - B ( 5 )

C

T 3 = ( R 1 - R 2 ) * C 7 4

T = ( R 1 - R 3 ) * C 7 2

R 1 = R 1 + R 2 + R 3

A ( 1 ) = A ( 1 ) + R 1

R 1 = A ( 1 ) + R 1 * C 7 1

R 2 = ( R 3 - R 2 ) * C 7 3

R 3 = R 1 - T + R 2

R 2 = R 1 - R 2 - T 3

R 1 = R 1 + T + T 3

T = ( R 6 - R 5 ) * C 7 8

T 3 = ( R 6 + R 4 ) * C 7 6

R 6 = ( R 6 + R 5 - R 4 ) * C 7 5

R 5 = ( R 5 + R 4 ) * C 7 7

R 4 = R 6 - T 3 + R 5

R 5 = R 6 - R 5 - T

R 6 = R 6 + T 3 + T

C

T 3 = ( S 1 - S 2 ) * C 7 4

T = ( S 1 - S 3 ) * C 7 2

S 1 = S 1 + S 2 + S 3

B ( 1 ) = B ( 1 ) + S 1

S 1 = B ( 1 ) + S 1 * C 7 1

S 2 = ( S 3 - S 2 ) * C 7 3

S 3 = S 1 - T + S 2

S 2 = S 1 - S 2 - T 3

S 1 = S 1 + T + T 3

T = ( S 6 - S 5 ) * C 7 8

T 3 = ( S 6 + S 4 ) * C 7 6

S 6 = ( S 6 + S 5 - S 4 ) * C 7 5

S 5 = ( S 5 + S 4 ) * C 7 7

S 4 = S 6 - T 3 + S 5

S 5 = S 6 - S 5 - T

S 6 = S 6 + T 3 + T

C

A ( 2 ) = R 3 + S 4

A ( 7 ) = R 3 - S 4

A ( 3 ) = R 1 + S 6

A ( 6 ) = R 1 - S 6

A ( 4 ) = R 2 - S 5

A ( 5 ) = R 2 + S 5

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 199/254

A P P E N D I X 1 9 3

B ( 4 ) = S 2 + R 5

B ( 5 ) = S 2 - R 5

B ( 2 ) = S 3 - R 4

B ( 7 ) = S 3 + R 4

B ( 3 ) = S 1 - R 6

B ( 6 ) = S 1 + R 6

C

2 0 I T = J

D O 3 1 L = 1 , N 1

I ( L ) = I T

X ( I T ) = A ( L )

Y ( I T ) = B ( L )

I T = I T + N 2

I F ( I T . G T . N ) I T = I T - N

3 1 C O N T I N U E

1 5 C O N T I N U E

1 0 C O N T I N U E

C

C - - - - - - - - - - - - - - - - - U N S C R A M B L I N G - - - - - - - - - - - - - - - - - - - - - -

C

L = 1

D O 2 K = 1 , N

A ( K ) = X ( L )

B ( K ) = Y ( L )

L = L + U N S C

I F ( L . G T . N ) L = L - N

2 C O N T I N U E

R E T U R N

E N D

C

1 8 . 1 3 I n P l a c e , I n O r d e r P r i m e F a c t o r F F T A l g o r i t h m

B e l o w i s t h e F o r t r a n c o d e f o r a P r i m e - F a c t o r A l g o r i t h m ( P F A ) F F T a l l o w i n g f a c t o r s o f

t h e l e n g t h o f 2 , 3 , 4 , 5 , 7 , 8 , 9 , a n d 1 6 . I t i s b o t h i n - p l a c e a n d i n - o r d e r , s o r e q u i r e s n o

u n s c r a m b l e r .

C

C A P R I M E F A C T O R F F T P R O G R A M

C I N - P L A C E A N D I N - O R D E R

C C O M P L E X I N P U T D A T A I N A R R A Y S X A N D Y

C L E N G T H N W I T H M F A C T O R S I N A R R A Y N I

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 200/254

1 9 4

A P P E N D I X

C N = N I ( 1 ) * N I ( 2 ) * . . . * N I ( M )

C R E D U C E D T E M P S T O R A G E I N S H O R T W F T A M O D U L E S

C H a s m o d u l e s 2 , 3 , 4 , 5 , 7 , 8 , 9 , 1 6

C P R O G R A M B Y C . S . B U R R U S , R I C E U N I V E R S I T Y

C S E P T 1 9 8 3

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

S U B R O U T I N E P F A ( X , Y , N , M , N I )

I N T E G E R N I ( 4 ) , I ( 1 6 ) , I P ( 1 6 ) , L P ( 1 6 )

R E A L X ( 1 ) , Y ( 1 )

D A T A C 3 1 , C 3 2 / - 0 . 8 6 6 0 2 5 4 0 , - 1 . 5 0 0 0 0 0 0 0 /

D A T A C 5 1 , C 5 2 / 0 . 9 5 1 0 5 6 5 2 , - 1 . 5 3 8 8 4 1 8 0 /

D A T A C 5 3 , C 5 4 / - 0 . 3 6 3 2 7 1 2 6 , 0 . 5 5 9 0 1 6 9 9 /

D A T A C 5 5 / - 1 . 2 5 /

D A T A C 7 1 , C 7 2 / - 1 . 1 6 6 6 6 6 6 7 , - 0 . 7 9 0 1 5 6 4 7 /

D A T A C 7 3 , C 7 4 / 0 . 0 5 5 8 5 4 2 6 7 , 0 . 7 3 4 3 0 2 2 /

D A T A C 7 5 , C 7 6 / 0 . 4 4 0 9 5 8 5 5 , - 0 . 3 4 0 8 7 2 9 3 /

D A T A C 7 7 , C 7 8 / 0 . 5 3 3 9 6 9 3 6 , 0 . 8 7 4 8 4 2 2 9 /

D A T A C 8 1 / 0 . 7 0 7 1 0 6 7 8 /

D A T A C 9 5 / - 0 . 5 0 0 0 0 0 0 0 /

D A T A C 9 2 , C 9 3 / 0 . 9 3 9 6 9 2 6 2 , - 0 . 1 7 3 6 4 8 1 8 /

D A T A C 9 4 , C 9 6 / 0 . 7 6 6 0 4 4 4 4 , - 0 . 3 4 2 0 2 0 1 4 /

D A T A C 9 7 , C 9 8 / - 0 . 9 8 4 8 0 7 7 5 , - 0 . 6 4 2 7 8 7 6 1 /

D A T A C 1 6 2 , C 1 6 3 / 0 . 3 8 2 6 8 3 4 3 , 1 . 3 0 6 5 6 2 9 7 /

D A T A C 1 6 4 , C 1 6 5 / 0 . 5 4 1 1 9 6 1 0 , 0 . 9 2 3 8 7 9 5 3 /

C

C - - - - - - - - - - - - - - - - - N E S T E D L O O P S - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

D O 1 0 K = 1 , M

N 1 = N I ( K )

N 2 = N / N 1

L = 1

N 3 = N 2 - N 1 * ( N 2 / N 1 )

D O 1 5 J = 1 , N 1

L P ( J ) = L

L = L + N 3

I F ( L . G T . N 1 ) L = L - N 1

1 5 C O N T I N U E

C

D O 2 0 J = 1 , N , N 1

I T = J

D O 3 0 L = 1 , N 1

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 201/254

A P P E N D I X 1 9 5

I ( L ) = I T

I P ( L P ( L ) ) = I T

I T = I T + N 2

I F ( I T . G T . N ) I T = I T - N

3 0 C O N T I N U E

G O T O ( 2 0 , 1 0 2 , 1 0 3 , 1 0 4 , 1 0 5 , 2 0 , 1 0 7 , 1 0 8 , 1 0 9 ,

+ 2 0 , 2 0 , 2 0 , 2 0 , 2 0 , 2 0 , 1 1 6 ) , N 1

C - - - - - - - - - - - - - - - - W F T A N = 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

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

X ( I ( 1 ) ) = R 1 + X ( I ( 2 ) )

X ( I ( 2 ) ) = R 1 - X ( I ( 2 ) )

C

R 1 = Y ( I ( 1 ) )

Y ( I P ( 1 ) ) = R 1 + Y ( I ( 2 ) )

Y ( I P ( 2 ) ) = R 1 - Y ( I ( 2 ) )

C

G O T O 2 0

C

C - - - - - - - - - - - - - - - - W F T A N = 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 3 R 2 = ( X ( I ( 2 ) ) - X ( I ( 3 ) ) ) * C 3 1

R 1 = X ( I ( 2 ) ) + X ( I ( 3 ) )

X ( I ( 1 ) ) = X ( I ( 1 ) ) + R 1

R 1 = X ( I ( 1 ) ) + R 1 * C 3 2

C

S 2 = ( Y ( I ( 2 ) ) - Y ( I ( 3 ) ) ) * C 3 1

S 1 = Y ( I ( 2 ) ) + Y ( I ( 3 ) )

Y ( I ( 1 ) ) = Y ( I ( 1 ) ) + S 1

S 1 = Y ( I ( 1 ) ) + S 1 * C 3 2

C

X ( I P ( 2 ) ) = R 1 - S 2

X ( I P ( 3 ) ) = R 1 + S 2

Y ( I P ( 2 ) ) = S 1 + R 2

Y ( I P ( 3 ) ) = S 1 - R 2

C

G O T O 2 0

C

C - - - - - - - - - - - - - - - - W F T A N = 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 4 R 1 = X ( I ( 1 ) ) + X ( I ( 3 ) )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 202/254

1 9 6

A P P E N D I X

T 1 = X ( I ( 1 ) ) - X ( I ( 3 ) )

R 2 = X ( I ( 2 ) ) + X ( I ( 4 ) )

X ( I P ( 1 ) ) = R 1 + R 2

X ( I P ( 3 ) ) = R 1 - R 2

C

R 1 = Y ( I ( 1 ) ) + Y ( I ( 3 ) )

T 2 = Y ( I ( 1 ) ) - Y ( I ( 3 ) )

R 2 = Y ( I ( 2 ) ) + Y ( I ( 4 ) )

Y ( I P ( 1 ) ) = R 1 + R 2

Y ( I P ( 3 ) ) = R 1 - R 2

C

R 1 = X ( I ( 2 ) ) - X ( I ( 4 ) )

R 2 = Y ( I ( 2 ) ) - Y ( I ( 4 ) )

C

X ( I P ( 2 ) ) = T 1 + R 2

X ( I P ( 4 ) ) = T 1 - R 2

Y ( I P ( 2 ) ) = T 2 - R 1

Y ( I P ( 4 ) ) = T 2 + R 1

C

G O T O 2 0

C - - - - - - - - - - - - - - - - W F T A N = 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 5 R 1 = X ( I ( 2 ) ) + X ( I ( 5 ) )

R 4 = X ( I ( 2 ) ) - X ( I ( 5 ) )

R 3 = X ( I ( 3 ) ) + X ( I ( 4 ) )

R 2 = X ( I ( 3 ) ) - X ( I ( 4 ) )

C

T = ( R 1 - R 3 ) * C 5 4

R 1 = R 1 + R 3

X ( I ( 1 ) ) = X ( I ( 1 ) ) + R 1

R 1 = X ( I ( 1 ) ) + R 1 * C 5 5

C

R 3 = R 1 - T

R 1 = R 1 + T

C

T = ( R 4 + R 2 ) * C 5 1

R 4 = T + R 4 * C 5 2

R 2 = T + R 2 * C 5 3

C

S 1 = Y ( I ( 2 ) ) + Y ( I ( 5 ) )

S 4 = Y ( I ( 2 ) ) - Y ( I ( 5 ) )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 203/254

A P P E N D I X 1 9 7

S 3 = Y ( I ( 3 ) ) + Y ( I ( 4 ) )

S 2 = Y ( I ( 3 ) ) - Y ( I ( 4 ) )

C

T = ( S 1 - S 3 ) * C 5 4

S 1 = S 1 + S 3

Y ( I ( 1 ) ) = Y ( I ( 1 ) ) + S 1

S 1 = Y ( I ( 1 ) ) + S 1 * C 5 5

C

S 3 = S 1 - T

S 1 = S 1 + T

C

T = ( S 4 + S 2 ) * C 5 1

S 4 = T + S 4 * C 5 2

S 2 = T + S 2 * C 5 3

C

X ( I P ( 2 ) ) = R 1 + S 2

X ( I P ( 5 ) ) = R 1 - S 2

X ( I P ( 3 ) ) = R 3 - S 4

X ( I P ( 4 ) ) = R 3 + S 4

C

Y ( I P ( 2 ) ) = S 1 - R 2

Y ( I P ( 5 ) ) = S 1 + R 2

Y ( I P ( 3 ) ) = S 3 + R 4

Y ( I P ( 4 ) ) = S 3 - R 4

C

G O T O 2 0

C - - - - - - - - - - - - - - - - - W F T A N = 7 - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 7 R 1 = X ( I ( 2 ) ) + X ( I ( 7 ) )

R 6 = X ( I ( 2 ) ) - X ( I ( 7 ) )

S 1 = Y ( I ( 2 ) ) + Y ( I ( 7 ) )

S 6 = Y ( I ( 2 ) ) - Y ( I ( 7 ) )

R 2 = X ( I ( 3 ) ) + X ( I ( 6 ) )

R 5 = X ( I ( 3 ) ) - X ( I ( 6 ) )

S 2 = Y ( I ( 3 ) ) + Y ( I ( 6 ) )

S 5 = Y ( I ( 3 ) ) - Y ( I ( 6 ) )

R 3 = X ( I ( 4 ) ) + X ( I ( 5 ) )

R 4 = X ( I ( 4 ) ) - X ( I ( 5 ) )

S 3 = Y ( I ( 4 ) ) + Y ( I ( 5 ) )

S 4 = Y ( I ( 4 ) ) - Y ( I ( 5 ) )

C

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 204/254

1 9 8

A P P E N D I X

T 3 = ( R 1 - R 2 ) * C 7 4

T = ( R 1 - R 3 ) * C 7 2

R 1 = R 1 + R 2 + R 3

X ( I ( 1 ) ) = X ( I ( 1 ) ) + R 1

R 1 = X ( I ( 1 ) ) + R 1 * C 7 1

R 2 = ( R 3 - R 2 ) * C 7 3

R 3 = R 1 - T + R 2

R 2 = R 1 - R 2 - T 3

R 1 = R 1 + T + T 3

T = ( R 6 - R 5 ) * C 7 8

T 3 = ( R 6 + R 4 ) * C 7 6

R 6 = ( R 6 + R 5 - R 4 ) * C 7 5

R 5 = ( R 5 + R 4 ) * C 7 7

R 4 = R 6 - T 3 + R 5

R 5 = R 6 - R 5 - T

R 6 = R 6 + T 3 + T

C

T 3 = ( S 1 - S 2 ) * C 7 4

T = ( S 1 - S 3 ) * C 7 2

S 1 = S 1 + S 2 + S 3

Y ( I ( 1 ) ) = Y ( I ( 1 ) ) + S 1

S 1 = Y ( I ( 1 ) ) + S 1 * C 7 1

S 2 = ( S 3 - S 2 ) * C 7 3

S 3 = S 1 - T + S 2

S 2 = S 1 - S 2 - T 3

S 1 = S 1 + T + T 3

T = ( S 6 - S 5 ) * C 7 8

T 3 = ( S 6 + S 4 ) * C 7 6

S 6 = ( S 6 + S 5 - S 4 ) * C 7 5

S 5 = ( S 5 + S 4 ) * C 7 7

S 4 = S 6 - T 3 + S 5

S 5 = S 6 - S 5 - T

S 6 = S 6 + T 3 + T

C

X ( I P ( 2 ) ) = R 3 + S 4

X ( I P ( 7 ) ) = R 3 - S 4

X ( I P ( 3 ) ) = R 1 + S 6

X ( I P ( 6 ) ) = R 1 - S 6

X ( I P ( 4 ) ) = R 2 - S 5

X ( I P ( 5 ) ) = R 2 + S 5

Y ( I P ( 4 ) ) = S 2 + R 5

Y ( I P ( 5 ) ) = S 2 - R 5

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 205/254

A P P E N D I X 1 9 9

Y ( I P ( 2 ) ) = S 3 - R 4

Y ( I P ( 7 ) ) = S 3 + R 4

Y ( I P ( 3 ) ) = S 1 - R 6

Y ( I P ( 6 ) ) = S 1 + R 6

C

G O T O 2 0

C - - - - - - - - - - - - - - - - - W F T A N = 8 - - - - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 8 R 1 = X ( I ( 1 ) ) + X ( I ( 5 ) )

R 2 = X ( I ( 1 ) ) - X ( I ( 5 ) )

R 3 = X ( I ( 2 ) ) + X ( I ( 8 ) )

R 4 = X ( I ( 2 ) ) - X ( I ( 8 ) )

R 5 = X ( I ( 3 ) ) + X ( I ( 7 ) )

R 6 = X ( I ( 3 ) ) - X ( I ( 7 ) )

R 7 = X ( I ( 4 ) ) + X ( I ( 6 ) )

R 8 = X ( I ( 4 ) ) - X ( I ( 6 ) )

T 1 = R 1 + R 5

T 2 = R 1 - R 5

T 3 = R 3 + R 7

R 3 = ( R 3 - R 7 ) * C 8 1

X ( I P ( 1 ) ) = T 1 + T 3

X ( I P ( 5 ) ) = T 1 - T 3

T 1 = R 2 + R 3

T 3 = R 2 - R 3

S 1 = R 4 - R 8

R 4 = ( R 4 + R 8 ) * C 8 1

S 2 = R 4 + R 6

S 3 = R 4 - R 6

R 1 = Y ( I ( 1 ) ) + Y ( I ( 5 ) )

R 2 = Y ( I ( 1 ) ) - Y ( I ( 5 ) )

R 3 = Y ( I ( 2 ) ) + Y ( I ( 8 ) )

R 4 = Y ( I ( 2 ) ) - Y ( I ( 8 ) )

R 5 = Y ( I ( 3 ) ) + Y ( I ( 7 ) )

R 6 = Y ( I ( 3 ) ) - Y ( I ( 7 ) )

R 7 = Y ( I ( 4 ) ) + Y ( I ( 6 ) )

R 8 = Y ( I ( 4 ) ) - Y ( I ( 6 ) )

T 4 = R 1 + R 5

R 1 = R 1 - R 5

R 5 = R 3 + R 7

R 3 = ( R 3 - R 7 ) * C 8 1

Y ( I P ( 1 ) ) = T 4 + R 5

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 206/254

2 0 0

A P P E N D I X

Y ( I P ( 5 ) ) = T 4 - R 5

R 5 = R 2 + R 3

R 2 = R 2 - R 3

R 3 = R 4 - R 8

R 4 = ( R 4 + R 8 ) * C 8 1

R 7 = R 4 + R 6

R 4 = R 4 - R 6

X ( I P ( 2 ) ) = T 1 + R 7

X ( I P ( 8 ) ) = T 1 - R 7

X ( I P ( 3 ) ) = T 2 + R 3

X ( I P ( 7 ) ) = T 2 - R 3

X ( I P ( 4 ) ) = T 3 + R 4

X ( I P ( 6 ) ) = T 3 - R 4

Y ( I P ( 2 ) ) = R 5 - S 2

Y ( I P ( 8 ) ) = R 5 + S 2

Y ( I P ( 3 ) ) = R 1 - S 1

Y ( I P ( 7 ) ) = R 1 + S 1

Y ( I P ( 4 ) ) = R 2 - S 3

Y ( I P ( 6 ) ) = R 2 + S 3

C

G O T O 2 0

C - - - - - - - - - - - - - - - - - W F T A N = 9 - - - - - - - - - - - - - - - - - - - - - - -

C

1 0 9 R 1 = X ( I ( 2 ) ) + X ( I ( 9 ) )

R 2 = X ( I ( 2 ) ) - X ( I ( 9 ) )

R 3 = X ( I ( 3 ) ) + X ( I ( 8 ) )

R 4 = X ( I ( 3 ) ) - X ( I ( 8 ) )

R 5 = X ( I ( 4 ) ) + X ( I ( 7 ) )

T 8 = ( X ( I ( 4 ) ) - X ( I ( 7 ) ) ) * C 3 1

R 7 = X ( I ( 5 ) ) + X ( I ( 6 ) )

R 8 = X ( I ( 5 ) ) - X ( I ( 6 ) )

T 0 = X ( I ( 1 ) ) + R 5

T 7 = X ( I ( 1 ) ) + R 5 * C 9 5

R 5 = R 1 + R 3 + R 7

X ( I ( 1 ) ) = T 0 + R 5

T 5 = T 0 + R 5 * C 9 5

T 3 = ( R 3 - R 7 ) * C 9 2

R 7 = ( R 1 - R 7 ) * C 9 3

R 3 = ( R 1 - R 3 ) * C 9 4

T 1 = T 7 + T 3 + R 3

T 3 = T 7 - T 3 - R 7

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 207/254

A P P E N D I X 2 0 1

T 7 = T 7 + R 7 - R 3

T 6 = ( R 2 - R 4 + R 8 ) * C 3 1

T 4 = ( R 4 + R 8 ) * C 9 6

R 8 = ( R 2 - R 8 ) * C 9 7

R 2 = ( R 2 + R 4 ) * C 9 8

T 2 = T 8 + T 4 + R 2

T 4 = T 8 - T 4 - R 8

T 8 = T 8 + R 8 - R 2

C

R 1 = Y ( I ( 2 ) ) + Y ( I ( 9 ) )

R 2 = Y ( I ( 2 ) ) - Y ( I ( 9 ) )

R 3 = Y ( I ( 3 ) ) + Y ( I ( 8 ) )

R 4 = Y ( I ( 3 ) ) - Y ( I ( 8 ) )

R 5 = Y ( I ( 4 ) ) + Y ( I ( 7 ) )

R 6 = ( Y ( I ( 4 ) ) - Y ( I ( 7 ) ) ) * C 3 1

R 7 = Y ( I ( 5 ) ) + Y ( I ( 6 ) )

R 8 = Y ( I ( 5 ) ) - Y ( I ( 6 ) )

T 0 = Y ( I ( 1 ) ) + R 5

T 9 = Y ( I ( 1 ) ) + R 5 * C 9 5

R 5 = R 1 + R 3 + R 7

Y ( I ( 1 ) ) = T 0 + R 5

R 5 = T 0 + R 5 * C 9 5

T 0 = ( R 3 - R 7 ) * C 9 2

R 7 = ( R 1 - R 7 ) * C 9 3

R 3 = ( R 1 - R 3 ) * C 9 4

R 1 = T 9 + T 0 + R 3

T 0 = T 9 - T 0 - R 7

R 7 = T 9 + R 7 - R 3

R 9 = ( R 2 - R 4 + R 8 ) * C 3 1

R 3 = ( R 4 + R 8 ) * C 9 6

R 8 = ( R 2 - R 8 ) * C 9 7

R 4 = ( R 2 + R 4 ) * C 9 8

R 2 = R 6 + R 3 + R 4

R 3 = R 6 - R 8 - R 3

R 8 = R 6 + R 8 - R 4

C

X ( I P ( 2 ) ) = T 1 - R 2

X ( I P ( 9 ) ) = T 1 + R 2

Y ( I P ( 2 ) ) = R 1 + T 2

Y ( I P ( 9 ) ) = R 1 - T 2

X ( I P ( 3 ) ) = T 3 + R 3

X ( I P ( 8 ) ) = T 3 - R 3

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 208/254

2 0 2

A P P E N D I X

Y ( I P ( 3 ) ) = T 0 - T 4

Y ( I P ( 8 ) ) = T 0 + T 4

X ( I P ( 4 ) ) = T 5 - R 9

X ( I P ( 7 ) ) = T 5 + R 9

Y ( I P ( 4 ) ) = R 5 + T 6

Y ( I P ( 7 ) ) = R 5 - T 6

X ( I P ( 5 ) ) = T 7 - R 8

X ( I P ( 6 ) ) = T 7 + R 8

Y ( I P ( 5 ) ) = R 7 + T 8

Y ( I P ( 6 ) ) = R 7 - T 8

C

G O T O 2 0

C - - - - - - - - - - - - - - - - - W F T A N = 1 6 - - - - - - - - - - - - - - - - - - - - - - - -

C

1 1 6 R 1 = X ( I ( 1 ) ) + X ( I ( 9 ) )

R 2 = X ( I ( 1 ) ) - X ( I ( 9 ) )

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

R 4 = X ( I ( 2 ) ) - X ( I ( 1 0 ) )

R 5 = X ( I ( 3 ) ) + X ( I ( 1 1 ) )

R 6 = X ( I ( 3 ) ) - X ( I ( 1 1 ) )

R 7 = X ( I ( 4 ) ) + X ( I ( 1 2 ) )

R 8 = X ( I ( 4 ) ) - X ( I ( 1 2 ) )

R 9 = X ( I ( 5 ) ) + X ( I ( 1 3 ) )

R 1 0 = X ( I ( 5 ) ) - X ( I ( 1 3 ) )

R 1 1 = X ( I ( 6 ) ) + X ( I ( 1 4 ) )

R 1 2 = X ( I ( 6 ) ) - X ( I ( 1 4 ) )

R 1 3 = X ( I ( 7 ) ) + X ( I ( 1 5 ) )

R 1 4 = X ( I ( 7 ) ) - X ( I ( 1 5 ) )

R 1 5 = X ( I ( 8 ) ) + X ( I ( 1 6 ) )

R 1 6 = X ( I ( 8 ) ) - X ( I ( 1 6 ) )

T 1 = R 1 + R 9

T 2 = R 1 - R 9

T 3 = R 3 + R 1 1

T 4 = R 3 - R 1 1

T 5 = R 5 + R 1 3

T 6 = R 5 - R 1 3

T 7 = R 7 + R 1 5

T 8 = R 7 - R 1 5

R 1 = T 1 + T 5

R 3 = T 1 - T 5

R 5 = T 3 + T 7

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 209/254

A P P E N D I X 2 0 3

R 7 = T 3 - T 7

X ( I P ( 1 ) ) = R 1 + R 5

X ( I P ( 9 ) ) = R 1 - R 5

T 1 = C 8 1 * ( T 4 + T 8 )

T 5 = C 8 1 * ( T 4 - T 8 )

R 9 = T 2 + T 5

R 1 1 = T 2 - T 5

R 1 3 = T 6 + T 1

R 1 5 = T 6 - T 1

T 1 = R 4 + R 1 6

T 2 = R 4 - R 1 6

T 3 = C 8 1 * ( R 6 + R 1 4 )

T 4 = C 8 1 * ( R 6 - R 1 4 )

T 5 = R 8 + R 1 2

T 6 = R 8 - R 1 2

T 7 = C 1 6 2 * ( T 2 - T 6 )

T 2 = C 1 6 3 * T 2 - T 7

T 6 = C 1 6 4 * T 6 - T 7

T 7 = R 2 + T 4

T 8 = R 2 - T 4

R 2 = T 7 + T 2

R 4 = T 7 - T 2

R 6 = T 8 + T 6

R 8 = T 8 - T 6

T 7 = C 1 6 5 * ( T 1 + T 5 )

T 2 = T 7 - C 1 6 4 * T 1

T 4 = T 7 - C 1 6 3 * T 5

T 6 = R 1 0 + T 3

T 8 = R 1 0 - T 3

R 1 0 = T 6 + T 2

R 1 2 = T 6 - T 2

R 1 4 = T 8 + T 4

R 1 6 = T 8 - T 4

R 1 = Y ( I ( 1 ) ) + Y ( I ( 9 ) )

S 2 = Y ( I ( 1 ) ) - Y ( I ( 9 ) )

S 3 = Y ( I ( 2 ) ) + Y ( I ( 1 0 ) )

S 4 = Y ( I ( 2 ) ) - Y ( I ( 1 0 ) )

R 5 = Y ( I ( 3 ) ) + Y ( I ( 1 1 ) )

S 6 = Y ( I ( 3 ) ) - Y ( I ( 1 1 ) )

S 7 = Y ( I ( 4 ) ) + Y ( I ( 1 2 ) )

S 8 = Y ( I ( 4 ) ) - Y ( I ( 1 2 ) )

S 9 = Y ( I ( 5 ) ) + Y ( I ( 1 3 ) )

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 210/254

2 0 4

A P P E N D I X

S 1 0 = Y ( I ( 5 ) ) - Y ( I ( 1 3 ) )

S 1 1 = Y ( I ( 6 ) ) + Y ( I ( 1 4 ) )

S 1 2 = Y ( I ( 6 ) ) - Y ( I ( 1 4 ) )

S 1 3 = Y ( I ( 7 ) ) + Y ( I ( 1 5 ) )

S 1 4 = Y ( I ( 7 ) ) - Y ( I ( 1 5 ) )

S 1 5 = Y ( I ( 8 ) ) + Y ( I ( 1 6 ) )

S 1 6 = Y ( I ( 8 ) ) - Y ( I ( 1 6 ) )

T 1 = R 1 + S 9

T 2 = R 1 - S 9

T 3 = S 3 + S 1 1

T 4 = S 3 - S 1 1

T 5 = R 5 + S 1 3

T 6 = R 5 - S 1 3

T 7 = S 7 + S 1 5

T 8 = S 7 - S 1 5

R 1 = T 1 + T 5

S 3 = T 1 - T 5

R 5 = T 3 + T 7

S 7 = T 3 - T 7

Y ( I P ( 1 ) ) = R 1 + R 5

Y ( I P ( 9 ) ) = R 1 - R 5

X ( I P ( 5 ) ) = R 3 + S 7

X ( I P ( 1 3 ) ) = R 3 - S 7

Y ( I P ( 5 ) ) = S 3 - R 7

Y ( I P ( 1 3 ) ) = S 3 + R 7

T 1 = C 8 1 * ( T 4 + T 8 )

T 5 = C 8 1 * ( T 4 - T 8 )

S 9 = T 2 + T 5

S 1 1 = T 2 - T 5

S 1 3 = T 6 + T 1

S 1 5 = T 6 - T 1

T 1 = S 4 + S 1 6

T 2 = S 4 - S 1 6

T 3 = C 8 1 * ( S 6 + S 1 4 )

T 4 = C 8 1 * ( S 6 - S 1 4 )

T 5 = S 8 + S 1 2

T 6 = S 8 - S 1 2

T 7 = C 1 6 2 * ( T 2 - T 6 )

T 2 = C 1 6 3 * T 2 - T 7

T 6 = C 1 6 4 * T 6 - T 7

T 7 = S 2 + T 4

T 8 = S 2 - T 4

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 211/254

A P P E N D I X 2 0 5

S 2 = T 7 + T 2

S 4 = T 7 - T 2

S 6 = T 8 + T 6

S 8 = T 8 - T 6

T 7 = C 1 6 5 * ( T 1 + T 5 )

T 2 = T 7 - C 1 6 4 * T 1

T 4 = T 7 - C 1 6 3 * T 5

T 6 = S 1 0 + T 3

T 8 = S 1 0 - T 3

S 1 0 = T 6 + T 2

S 1 2 = T 6 - T 2

S 1 4 = T 8 + T 4

S 1 6 = T 8 - T 4

X ( I P ( 2 ) ) = R 2 + S 1 0

X ( I P ( 1 6 ) ) = R 2 - S 1 0

Y ( I P ( 2 ) ) = S 2 - R 1 0

Y ( I P ( 1 6 ) ) = S 2 + R 1 0

X ( I P ( 3 ) ) = R 9 + S 1 3

X ( I P ( 1 5 ) ) = R 9 - S 1 3

Y ( I P ( 3 ) ) = S 9 - R 1 3

Y ( I P ( 1 5 ) ) = S 9 + R 1 3

X ( I P ( 4 ) ) = R 8 - S 1 6

X ( I P ( 1 4 ) ) = R 8 + S 1 6

Y ( I P ( 4 ) ) = S 8 + R 1 6

Y ( I P ( 1 4 ) ) = S 8 - R 1 6

X ( I P ( 6 ) ) = R 6 + S 1 4

X ( I P ( 1 2 ) ) = R 6 - S 1 4

Y ( I P ( 6 ) ) = S 6 - R 1 4

Y ( I P ( 1 2 ) ) = S 6 + R 1 4

X ( I P ( 7 ) ) = R 1 1 - S 1 5

X ( I P ( 1 1 ) ) = R 1 1 + S 1 5

Y ( I P ( 7 ) ) = S 1 1 + R 1 5

Y ( I P ( 1 1 ) ) = S 1 1 - R 1 5

X ( I P ( 8 ) ) = R 4 - S 1 2

X ( I P ( 1 0 ) ) = R 4 + S 1 2

Y ( I P ( 8 ) ) = S 4 + R 1 2

Y ( I P ( 1 0 ) ) = S 4 - R 1 2

C

G O T O 2 0

C

2 0 C O N T I N U E

1 0 C O N T I N U E

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 212/254

2 0 6

A P P E N D I X

R E T U R N

E N D

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 213/254

A p p e n d i x 4 : P r o g r a m s f o r S h o r t F F T s

1

T h i s a p p e n d i x w i l l d i s c u s s e c i e n t s h o r t F F T p r o g r a m s t h a t c a n b e u s e d i n b o t h t h e C o o l e y -

T u k e y ( C h a p t e r 9 ) a n d t h e P r i m e F a c t o r F F T a l g o r i t h m s ( C h a p t e r 1 0 ) . L i n k s a n d r e f e r e n c e s

a r e g i v e n t o F o r t r a n l i s t i n g s t h a t c a n b e u s e d " a s i s " o r p u t i n t o t h e i n d e x e d l o o p s o f e x i s t i n g

p r o g r a m s t o g i v e g r e a t e r e c i e n c y a n d / o r a g r e a t e r v a r i e t y o f a l l o w e d l e n g t h s . S p e c i a l

p r o g r a m s h a v e b e e n w r i t t e n f o r l e n g t h s :

N = 2, 3, 4, 5, 7, 8, 9, 11, 13, 16, 17, 19, 25,e t c .

I n t h e e a r l y d a y s o f t h e F F T , m u l t i p l i c a t i o n w a s d o n e i n s o f t w a r e a n d w a s , t h e r e f o r e , m u c h

s l o w e r t h a n a n a d d i t i o n . W i t h m o d e m h a r d w a r e , a o a t i n g p o i n t m u l t i p l i c a t i o n c a n b e d o n e

i n o n e c l o c k c y c l e o f t h e c o m p u t e r , m i c r o p r o c e s s o r , o r D S P c h i p , r e q u i r i n g t h e s a m e t i m e a s

a n a d d i t i o n . I n d e e d , i n s o m e c o m p u t e r s a n d m a n y D S P c h i p s , b o t h a m u l t i p l i c a t i o n a n d a n

a d d i t i o n ( o r a c c u m u l a t i o n ) c a n b e d o n e i n o n e c y c l e w h i l e t h e i n d e x i n g a n d m e m o r y a c c e s s

i s d o n e i n p a r a l l e l . M o s t o f t h e a l g o r i t h m s d e s c r i b e d h e r e a r e n o t h a r d w a r e a r c h i t e c t u r e

s p e c i c b u t a r e d e s i g n e d t o m i n i m i z e b o t h m u l t i p l i c a t i o n s a n d a d d i t i o n s .

T h e m o s t b a s i c a n d o f t e n u s e d l e n g t h F F T ( o r D F T ) i s f o r

N = 2. I n t h e C o o l e y T u k e y F F T ,

i t i s c a l l e d a " b u t t e r y " a n d i t s r e a s o n f o r f a m e i s r e q u i r i n g n o m u l t i p l i c a t i o n s a t a l l , o n l y

o n e c o m p l e x a d d i t i o n a n d o n e c o m p l e x s u b t r a c t i o n a n d n e e d i n g o n l y o n e c o m p l e x t e m p o r a r y

s t o r a g e l o c a t i o n . T h i s i s i l l u s t r a t e d i n F i g u r e 1 : T h e P r i m e F a c t o r a n d W i n o g r a d T r a n s f o r m

A l g o r i t h m s ( F i g u r e 1 0 . 1 ) a n d c o d e i s s h o w n i n F i g u r e 2 : T h e P r i m e F a c t o r a n d W i n o g r a d

T r a n s f o r m A l g o r i t h m s ( F i g u r e 1 0 . 2 ) . T h e s e c o n d m o s t u s e d l e n g t h i s N = 4 b e c a u s e i t i s t h e

o n l y o t h e r s h o r t l e n g t h r e q u i r i n g n o m u l t i p l i c a t i o n s a n d a m i n i m u m o f a d d i t i o n s . A l l o t h e r

s h o r t F F T r e q u i r e s o m e m u l t i p l i c a t i o n b u t f o r p o w e r s o f t w o , N = 8 a n d N = 16 r e q u i r e

f e w e n o u g h t o b e w o r t h s p e c i a l c o d i n g f o r s o m e s i t u a t i o n s .

C o d e f o r o t h e r s h o r t l e n g t h s s u c h a s t h e p r i m e s N = 3, 5, 7, 11, 13, 17, and 19 a n d t h e

c o m p o s i t e s

N = 9a n d

25a r e i n c l u d e d i n t h e p r o g r a m s f o r t h e p r i m e f a c t o r a l g o r i t h m o r

t h e W F T A . T h e y a r e d e r i v e d u s i n g t h e t h e o r y i n C h a p t e r s 5 , 6 , a n d 9 . T h e y c a n a l s o b e

f o u n d i n r e f e r e n c e s . . . a n d

I f t h e s e s h o r t F F T s a r e u s e d a s m o d u l e s i n t h e b a s i c p r i m e f a c t o r a l g o r i t h m ( P F A ) , t h e n

t h e s t r a i g h t f o r w a r d d e v e l o p m e n t u s e d f o r t h e m o d u l e s i n F i g u r e 1 7 . 1 2 a r e u s e d . H o w e v e r i f

t h e m o r e c o m p l i c a t e d i n d e x i n g u s e t o a c h i e v e i n - o r d e r , i n - p l a c e c a l c u l a t i o n u s e d i n x x x x x

1

T h i s c o n t e n t i s a v a i l a b l e o n l i n e a t < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 4 6 / 1 . 4 / > .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

2 0 7

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 214/254

2 0 8

A P P E N D I X

r e q u i r e d i e r e n t c o d e .

F o r e a c h o f t h e i n d i c a t e d l e n g t h s , t h e c o m p u t e r c o d e i s g i v e n i n a C o n n e x i o n s m o d u l e .

T h e y a r e n o t i n t h e c o l l e c t i o n F a s t F o u r i e r T r a n s f o r m s

2

a s t h e p r i n t e d v e r s i o n w o u l d b e t o o

l o n g . H o w e v e r , o n e c a n l i n k t o t h e m o n - l i n e f r o m t h e f o l l o w i n g b u t t o n s :

N = 2

3

N = 3

4

N = 4

5

N = 5

6

N = 7

7

N = 8

N = 9

N = l 1

N = 1 3

N = 1 6

N = 1 7

N = 1 9

N = 2 5

V e r s i o n s f o r t h e i n - p l a c e , i n - o r d e r p r i m e f a c t o r a l g o r i t h m p f a c a n b e o b t a i n e d f r o m :

N = 2

8

N = 3

9

N = 4

1 0

N = 5

1 1

N = 7

1 2

N = 8

1 3

N = 9

1 4

N = l 1

1 5

N = 1 3

1 6

2

F a s t F o u r i e r T r a n s f o r m s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / l a t e s t / >

3

" N = 2 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 2 5 / l a t e s t / >

4

" N = 3 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 2 6 / l a t e s t / >

5

" N = 4 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 2 7 / l a t e s t / >

6

" N = 5 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 2 8 / l a t e s t / >

7

" N = 7 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 2 9 / l a t e s t / >

8

" p N = 2 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 3 1 / l a t e s t / >

9

" p N = 3 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 3 2 / l a t e s t / >

1 0

" p N = 4 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 3 3 / l a t e s t / >

1 1

" p N = 5 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 3 4 / l a t e s t / >

1 2

" p N = 7 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 3 5 / l a t e s t / >

1 3

" p N = 8 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 3 6 / l a t e s t / >

1 4

" p N = 9 " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 3 7 / l a t e s t / >

1 5

" N = 1 1 W i n o g r a d F F T m o d u l e " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 3 7 7 / l a t e s t / >

1 6

" N = 1 3 W i n o g r a d F F T m o d u l e " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 3 7 8 / l a t e s t / >

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 215/254

A P P E N D I X 2 0 9

N = 1 6

1 7

N = 1 7

1 8

N = 1 9

1 9

N = 2 5

2 0

A t e c h n i c a l r e p o r t t h a t d e s c r i b e s t h e l e n g t h 1 1 , 1 3 , 1 7 , a n d 1 9 i s i n r e p o r t 8 1 0 5 a n d

a n o t h e r t e c h n i c a l r e p o r t t h a t d e s c r i b e s a p r o g r a m t h a t w i l l a u t o m a t i c a l l y g e n e r a t e a p r i m e

l e n g t h F F T a n d i t s o w g r a p h s i i n r e p o r t x x x .

1 7

" N = 1 6 F F T m o d u l e " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 3 8 2 / l a t e s t / >

1 8

" N = 1 7 W i n o g r a d F F T m o d u l e " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 3 8 0 / l a t e s t / >

1 9

" N = 1 9 W i n o g r a d F F T m o d u l e " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 3 8 1 / l a t e s t / >

2 0

" N = 2 5 F F T m o d u l e " < h t t p : / / c n x . o r g / c o n t e n t / m 1 7 3 8 3 / l a t e s t / >

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 216/254

2 1 0

B I B L I O G R A P H Y

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 217/254

B i b l i o g r a p h y

[ 1 ] R . C . A g a r w a l a n d C . S . B u r r u s . F a s t d i g i t a l c o n v o l u t i o n u s i n g f e r m a t t r a n s f o r m s .

I n P r o c e e d i n g s o f t h e I E E E 2 5 t h A n n u a l S o u t h w e s t e r n C o n f e r e n c e , p a g e 5 3 8 8 2 1 1 ; 5 4 3 ,

H o u s t o n , A p r i l 1 9 7 3 .

[ 2 ] R . C . A g a r w a l a n d C . S . B u r r u s . F a s t c o n v o l u t i o n u s i n g f e r m a t n u m b e r t r a n s f o r m s

w i t h a p p l i c a t i o n s t o d i g i t a l l t e r i n g . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d

S i g n a l P r o c e s s i n g , A S S P - 2 2 ( 2 ) : 8 7 9 7 , A p r i l 1 9 7 4 . R e p r i n t e d i n N u m b e r T h e o r y i n

D S P , b y M c C l e l l a n a n d R a d e r , P r e n t i c e - H a l l , 1 9 7 9 .

[ 3 ] R . C . A g a r w a l a n d C . S . B u r r u s . F a s t o n e - d i m e n s i o n a l d i g i t a l c o n v o l u t i o n b y m u l t i -

d i m e n s i o n a l t e c h n i q u e s . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s -

i n g , A S S P - 2 2 ( 1 ) : 1 8 2 1 1 ; 1 0 , F e b r u a r y 1 9 7 4 . a l s o i n I E E E P r e s s D S P R e p r i n t s I I , 1 9 7 9 ;

a n d N u m b e r T h e o r y i n D S P , b y M c C l e l l a n a n d R a d e r , P r e n t i c e - H a l l , 1 9 7 9 .

[ 4 ] R . C . A g a r w a l a n d C . S . B u r r u s . N u m b e r t h e o r e t i c t r a n s f o r m s t o i m p l e m e n t f a s t d i g i t a l

c o n v o l u t i o n . P r o c e e d i n g s o f t h e I E E E , 6 3 ( 4 ) : 5 5 0 8 2 1 1 ; 5 6 0 , A p r i l 1 9 7 5 . a l s o i n I E E E

P r e s s D S P R e p r i n t s I I , 1 9 7 9 .

[ 5 ] R . C . A g a r w a l a n d C . S . B u r r u s . N u m b e r t h e o r e t i c t r a n s f o r m s t o i m p l e m e n t f a s t d i g i t a l

c o n v o l u t i o n . P r o c e e d i n g s o f t h e I E E E , 6 3 ( 4 ) : 5 5 0 8 2 1 1 ; 5 6 0 , A p r i l 1 9 7 5 . a l s o i n I E E E

P r e s s D S P R e p r i n t s I I , 1 9 7 9 .

[ 6 ] R . C . A g a r w a l a n d J . W . C o o l e y . N e w a l g o r i t h m s f o r d i g i t a l c o n v o l u t i o n . I E E E T r a n s .

o n A S S P , 2 5 ( 2 ) : 3 9 2 8 2 1 1 ; 4 1 0 , O c t o b e r 1 9 7 7 .

[ 7 ] R . C . A g a r w a l a n d J . W . C o o l e y . N e w a l g o r i t h m s f o r d i g i t a l c o n v o l u t i o n . I E E E T r a n s .

o n A S S P , 2 5 ( 2 ) : 3 9 2 8 2 1 1 ; 4 1 0 , O c t o b e r 1 9 7 7 .

[ 8 ] R . C . A g a r w a l a n d J . W . C o o l e y . N e w a l g o r i t h m s f o r d i g i t a l c o n v o l u t i o n . I E E E T r a n s .

o n A S S P , 2 5 ( 2 ) : 3 9 2 8 2 1 1 ; 4 1 0 , O c t o b e r 1 9 7 7 .

[ 9 ] R . C . A g a r w a l a n d J . W . C o o l e y . N e w a l g o r i t h m s f o r d i g i t a l c o n v o l u t i o n . I E E E T r a n s .

o n A S S P , 2 5 ( 2 ) : 3 9 2 8 2 1 1 ; 4 1 0 , O c t o b e r 1 9 7 7 .

[ 1 0 ] E . A n d e r s o n , Z . B a i , C . B i s c h o f , S . B l a c k f o r d , J . D e m m e l , J . D o n g a r r a , J . D u C r o z ,

A . G r e e n b a u m , S . H a m m a r l i n g , A . M c K e n n e y , a n d D . S o r e n s e n . L A P A C K U s e r s '

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

2 1 1

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 218/254

2 1 2

B I B L I O G R A P H Y

G u i d e . S o c i e t y f o r I n d u s t r i a l a n d A p p l i e d M a t h e m a t i c s , P h i l a d e l p h i a , P A , 3 r d e d i t i o n ,

1 9 9 9 .

[ 1 1 ] J r g A r n d t . A l g o r i t h m s f o r P r o g r a m m e r s : I d e a s a n d S o u r c e C o d e .

h t t p : / / w w w . j j j . d e / f x t / , B a y r e u t h , G e r m a n y , 2 0 0 8 . F F T b o o k a v a i l a b l e o n - l i n e ,

1 0 0 0 p a g e s , c o n t i n u a l l y u p d a t e d .

[ 1 2 ] L . A u s l a n d e r , E . F e i g , a n d S . W i n o g r a d . A b e l i a n s e m i - s i m p l e a l g e b r a s a n d a l g o r i t h m s

f o r t h e d i s c r e t e f o u r i e r t r a n s f o r m . A d v a n c e s i n A p p l i e d M a t h e m a t i c s , 5 : 3 1 8 2 1 1 ; 5 5 , 1 9 8 4 .

[ 1 3 ] S . B a g c h i a n d S . M i t r a . T h e N o n u n i f o r m D i s c r e t e F o u r i e r T r a n s f o r m a n d I t s A p p l i -

c a t i o n s i n S i g n a l P r o c e s s i n g . K l u w e r A c a d e m i c , B o s t o n , 1 9 9 9 .

[ 1 4 ] D . H . B a i l e y . F f t s i n e x t e r n a l o r h i e r a r c h i c a l m e m o r y . J . S u p e r c o m p u t i n g ,

4 ( 1 ) : 2 3 8 2 1 1 ; 3 5 , M a y 1 9 9 0 .

[ 1 5 ] C . W . B a r n e s . R o u n d o 8 2 1 1 ; n o i s e a n d o v e r o w i n n o r m a l d i g i t a l l t e r s . I E E E T r a n s -

a c t i o n s o n C i r c u i t a n d S y s t e m s , C A S - 2 6 : 1 5 4 8 2 1 1 ; 1 5 5 , M a r c h 1 9 7 9 .

[ 1 6 ] C . W . B a r n e s a n d S . S h i n n a k a . B l o c k s h i f t i n v a r i a n c e a n d b l o c k i m p l e m e n t a -

t i o n o f d i s c r e t e - t i m e l t e r s . I E E E T r a n s a c t i o n s o n C i r c u i t a n d S y s t e m s , C A S -

2 7 ( 4 ) : 6 6 7 8 2 1 1 ; 6 7 2 , A u g u s t 1 9 8 0 .

[ 1 7 ] J a m e s K . B e a r d . A n i n - p l a c e , s e l f - r e o r d e r i n g t . I n P r o c e e d i n g s o f t h e I C A S S P - 7 8 ,

p a g e s 6 3 2 6 3 3 , T u l s a , A p r i l 1 9 7 8 .

[ 1 8 ] J a m e s K . B e a r d . T h e F F T i n t h e 2 1 s t C e n t u r y : E i g e n s p a c e P r o c e s s i n g . K l u w e r ,

B o s t o n , 2 0 0 3 .

[ 1 9 ] J a m e s K . B e a r d . T h e F F T i n t h e 2 1 s t C e n t u r y : E i g e n s p a c e P r o c e s s i n g . K l u w e r ,

B o s t o n , 2 0 0 3 .

[ 2 0 ] L a s z l o A . B e l a d y . A s t u d y o f r e p l a c e m e n t a l g o r i t h m s f o r v i r t u a l s t o r a g e c o m p u t e r s .

I B M S y s t e m s J o u r n a l , 5 ( 2 ) : 7 8 1 0 1 , 1 9 6 6 .

[ 2 1 ] G . D . B e r g l a n d . A f a s t f o u r i e r t r a n s f o r m a l g o r i t h m f o r r e a l - v a l u e d s e r i e s . C o m m .

A C M , 1 1 ( 1 0 ) : 7 0 3 7 1 0 , O c t o b e r 1 9 6 8 .

[ 2 2 ] G . D . B e r g l a n d . A r a d i x - 8 f a s t f o u r i e r t r a n s f o r m s u b r o u t i n e f o r r e a l - v a l u e d s e r i e s .

I E E E T r a n s . o n A u d i o a n E l e c t r o c o u s t i c s , 1 7 : 1 3 8 1 4 4 , J u n e 1 9 6 9 .

[ 2 3 ] T h . B e t h . V e r f a h r e n d e r S c h n e l l e n F o u r i e r t r a n s f o r m a t i o n [ F a s t F o u r i e r T r a n s f o r m

M e t h o d s ] . T e u b n e r , 1 9 8 4 .

[ 2 4 ] G u o a n B i a n d Y a n Q i u C h e n . F a s t d f t a l g o r i t h m s f o r l e n g t h . I E E E T r a n s a c t i o n s o n

C i r c u i t s a n d S y s t e m s 8 2 1 1 ; I I , 4 5 ( 6 ) : 6 8 5 8 2 1 1 ; 6 9 0 , J u n e 1 9 9 8 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 219/254

B I B L I O G R A P H Y 2 1 3

[ 2 5 ] R . E . B l a h u t . F a s t A l g o r i t h m s f o r D i g i t a l S i g n a l P r o c e s s i n g . A d d i s o n - W e s l e y , I n c . ,

R e a d i n g , M A , 1 9 8 4 .

[ 2 6 ] R i c h a r d E . B l a h u t . F a s t A l g o r i t h m s f o r D i g i t a l S i g n a l P r o c e s s i n g . A d d i s o n - W e s l e y ,

R e a d i n g , M a s s . , 1 9 8 5 .

[ 2 7 ] R i c h a r d E . B l a h u t . F a s t A l g o r i t h m s f o r D i g i t a l S i g n a l P r o c e s s i n g . A d d i s o n - W e s l e y ,

R e a d i n g , M a s s . , 1 9 8 5 .

[ 2 8 ] R i c h a r d E . B l a h u t . F a s t A l g o r i t h m s f o r D i g i t a l S i g n a l P r o c e s s i n g . A d d i s o n - W e s l e y ,

R e a d i n g , M a s s . , 1 9 8 5 .

[ 2 9 ] R i c h a r d E . B l a h u t . F a s t A l g o r i t h m s f o r D i g i t a l S i g n a l P r o c e s s i n g . A d d i s o n - W e s l e y ,

R e a d i n g , M a s s . , 1 9 8 5 .

[ 3 0 ] R i c h a r d E . B l a h u t . F a s t A l g o r i t h m s f o r D i g i t a l S i g n a l P r o c e s s i n g . A d d i s o n - W e s l e y ,

R e a d i n g , M a s s . , 1 9 8 5 .

[ 3 1 ] R i c h a r d E . B l a h u t . F a s t A l g o r i t h m s f o r D i g i t a l S i g n a l P r o c e s s i n g . A d d i s o n - W e s l e y ,

R e a d i n g , M a s s . , 1 9 8 5 .

[ 3 2 ] R i c h a r d E . B l a h u t . F a s t A l g o r i t h m s f o r D i g i t a l S i g n a l P r o c e s s i n g . A d d i s o n - W e s l e y ,

R e a d i n g , M a s s . , 1 9 8 5 .

[ 3 3 ] R i c h a r d E . B l a h u t . A l g e b r a i c M e t h o d s f o r S i g n a l P r o c e s s i n g a n d C o m m u n i c a t i o n s

C o d i n g . S p r i n g e r - V e r l a g , N e w Y o r k , 1 9 9 2 .

[ 3 4 ] L . I . B l u e s t e i n . A l i n e a r l t e r i n g a p p r o a c h t o t h e c o m p u t a t i o n o f d i s c r e t e f o u r i e r t r a n s -

f o r m . I E E E T r a n s a c t i o n s o n A u d i o E l e c t r o a c o u s t i c s , A U - 1 8 : 4 5 1 8 2 1 1 ; 4 5 5 , D e c e m b e r

1 9 7 0 .

[ 3 5 ] L e o I . B l u e s t e i n . A l i n e a r l t e r i n g a p p r o a c h t o t h e c o m p u t a t i o n o f t h e d i s c r e t e f o u r i e r

t r a n s f o r m . N o r t h e a s t E l e c t r o n i c s R e s e a r c h a n d E n g . M e e t i n g R e c o r d , 1 0 : 2 1 8 8 2 1 1 ; 2 1 9 ,

1 9 6 8 .

[ 3 6 ] R . N . B r a c e w e l l . T h e H a r t l e y T r a n s f o r m . O x f o r d P r e s s , 1 9 8 6 .

[ 3 7 ] W i l l i a m L . B r i g g s a n d V a n E m d e n H e n s o n . T h e D F T : A n O w n e r ' s M a n u a l f o r t h e

D i s c r e t e F o u r i e r T r a n s f o r m . S I A M , P h i l a d e l p h i a , 1 9 9 5 .

[ 3 8 ] E . O r a n B r i g h a m . T h e F a s t F o u r i e r T r a n s f o r m a n d I t s A p p l i c a t i o n s . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , 1 9 8 8 . E x p a n s i o n o f t h e 1 9 7 4 b o o k .

[ 3 9 ] E . O r a n B r i g h a m . T h e F a s t F o u r i e r T r a n s f o r m a n d I t s A p p l i c a t i o n s . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , 1 9 8 8 . E x p a n s i o n o f t h e 1 9 7 4 b o o k .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 220/254

2 1 4

B I B L I O G R A P H Y

[ 4 0 ] V . B r i t a n a k a n d K . R . R a o . T h e f a s t g e n e r a l i z e d d i s c r e t e f o u r i e r t r a n s f o r m s : A u n i -

e d a p p r o a c h t o t h e d i s c r e t e s i n u s o i d a l t r a n s f o r m s c o m p u t a t i o n . S i g n a l P r o c e s s i n g ,

7 9 : 1 3 5 8 2 1 1 ; 1 5 0 , 1 9 9 9 .

[ 4 1 ] G . B r u u n . z - t r a n s f o r m d f t l t e r s a n d t s . I E E E T r a n s a c t i o n s o n A S S P ,

2 6 ( 1 ) : 5 6 8 2 1 1 ; 6 3 , F e b r u a r y 1 9 7 8 .

[ 4 2 ] O . B u n e m a n . S t a b l e o n l i n e c r e a t i o n o f s i n e s o r c o s i n e s o f s u c c e s s i v e a n g l e s . P r o c .

I E E E , 7 5 ( 1 0 ) : 1 4 3 4 8 2 1 1 ; 1 4 3 5 , 1 9 8 7 .

[ 4 3 ] C . S . B u r r u s . B l o c k i m p l e m e n t a t i o n o f d i g i t a l l t e r s . I E E E T r a n s a c t i o n s o n C i r c u i t

T h e o r y , C T - 1 8 ( 6 ) : 6 9 7 8 2 1 1 ; 7 0 1 , N o v e m b e r 1 9 7 1 .

[ 4 4 ] C . S . B u r r u s . B l o c k r e a l i z a t i o n o f d i g i t a l l t e r s . I E E E T r a n s a c t i o n s o n A u d i o a n d

E l e c t r o a c o u s t i c s , A U - 2 0 ( 4 ) : 2 3 0 8 2 1 1 ; 2 3 5 , O c t o b e r 1 9 7 2 .

[ 4 5 ] C . S . B u r r u s . D i g i t a l l t e r s t r u c t u r e s d e s c r i b e d b y d i s t r i b u t e d a r i t h m e t i c . I E E E

T r a n s a c t i o n s o n C i r c u i t a n d S y s t e m s , C A S - 2 4 ( 1 2 ) : 6 7 4 8 2 1 1 ; 6 8 0 , D e c e m b e r 1 9 7 7 .

[ 4 6 ] C . S . B u r r u s . I n d e x m a p p i n g f o r m u l t i d i m e n s i o n a l f o r m u l a t i o n o f t h e d f t a n d c o n -

v o l u t i o n . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , A S S P -

2 5 ( 3 ) : 2 3 9 8 2 1 1 ; 2 4 2 , J u n e 1 9 7 7 .

[ 4 7 ] C . S . B u r r u s . I n d e x m a p p i n g f o r m u l t i d i m e n s i o n a l f o r m u l a t i o n o f t h e d f t a n d c o n -

v o l u t i o n . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , A S S P -

2 5 ( 3 ) : 2 3 9 8 2 1 1 ; 2 4 2 , J u n e 1 9 7 7 .

[ 4 8 ] C . S . B u r r u s . R e c u r s i v e d i g i t a l l t e r s t r u c t u r e s u s i n g n e w h i g h s p e e d c o n v o l u t i o n a l g o -

r i t h m s . I n I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ,

p a g e 3 6 3 8 2 1 1 ; 3 6 5 , H a r t f o r d , C T , M a y 1 9 7 7 .

[ 4 9 ] C . S . B u r r u s . E c i e n t f o u r i e r t r a n s f o r m a n d c o n v o l u t i o n a l g o r i t h m s . I n J . S . L i m

a n d A . V . O p p e n h e i m , e d i t o r s , A d v a n c e d T o p i c s i n S i g n a l P r o c e s s i n g , c h a p t e r 4 , p a g e

1 9 9 8 2 1 1 ; 2 4 5 . P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 8 8 .

[ 5 0 ] C . S . B u r r u s . E c i e n t f o u r i e r t r a n s f o r m a n d c o n v o l u t i o n a l g o r i t h m s . I n J . S . L i m

a n d A . V . O p p e n h e i m , e d i t o r s , A d v a n c e d T o p i c s i n S i g n a l P r o c e s s i n g , c h a p t e r 4 , p a g e

1 9 9 8 2 1 1 ; 2 4 5 . P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 8 8 .

[ 5 1 ] C . S . B u r r u s . U n s c r a m b l i n g f o r f a s t d f t a l g o r i t h m s . I E E E T r a n s a c t i o n s o n A c o u s t i c s ,

S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 6 ( 7 ) : 1 0 8 6 8 2 1 1 ; 1 0 8 7 , J u l y 1 9 8 8 .

[ 5 2 ] C . S . B u r r u s . G o e r t z e l ' s a l g o r i t h m . U n p u b l i s h e d n o t e s , E C E D e p t . , R i c e U n i v e r s i t y ,

1 9 9 2 .

[ 5 3 ] C . S . B u r r u s . T h e q u i c k f o u r i e r t r a n s f o r m . U n p u b l i s h e d n o t e s , E C E D e p t . , R i c e

U n i v e r s i t y , 1 9 9 2 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 221/254

B I B L I O G R A P H Y 2 1 5

[ 5 4 ] C . S . B u r r u s a n d R . C . A g a r w a l . E c i e n t i m p l e m e n t a t i o n o f r e c u r s i v e d i g i t a l l t e r s .

I n P r o c e e d i n g s o f t h e S e v e n t h A s i l o m a r C o n f e r e n c e o n C i r c u i t s a n d S y s t e m s , p a g e

2 8 0 8 2 1 1 ; 2 8 4 , P a c i c G r o v e , C A , N o v e m b e r , 5 1 9 7 3 .

[ 5 5 ] C . S . B u r r u s a n d R . C . A g a r w a l . T h e u s e o f n u m b e r t h e o r e t i c t r a n s f o r m s f o r c o n v o l u -

t i o n . I n P r e s e n t e d a t t h e I E E E A r d e n H o u s e W o r k s h o p o n D i g i t a l S i g n a l P r o c e s s i n g ,

H a r r i m a n , N Y , J a n u a r y 1 9 7 4 .

[ 5 6 ] C . S . B u r r u s a n d P . W . E s c h e n b a c h e r . A n i n 8 2 1 1 ; p l a c e , i n 8 2 1 1 ; o r d e r p r i m e f a c -

t o r t a l g o r i t h m . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ,

2 9 ( 4 ) : 8 0 6 8 2 1 1 ; 8 1 7 , A u g u s t 1 9 8 1 . R e p r i n t e d i n i t D S P S o f t w a r e , b y L . R . M o r r i s , 1 9 8 3 .

[ 5 7 ] C . S . B u r r u s a n d P . W . E s c h e n b a c h e r . A n i n 8 2 1 1 ; p l a c e , i n 8 2 1 1 ; o r d e r p r i m e f a c -

t o r t a l g o r i t h m . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ,

2 9 ( 4 ) : 8 0 6 8 2 1 1 ; 8 1 7 , A u g u s t 1 9 8 1 . R e p r i n t e d i n i t D S P S o f t w a r e , b y L . R . M o r r i s , 1 9 8 3 .

[ 5 8 ] C . S . B u r r u s a n d P . W . E s c h e n b a c h e r . A n i n 8 2 1 1 ; p l a c e , i n 8 2 1 1 ; o r d e r p r i m e f a c -

t o r t a l g o r i t h m . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ,

2 9 ( 4 ) : 8 0 6 8 2 1 1 ; 8 1 7 , A u g u s t 1 9 8 1 . R e p r i n t e d i n i t D S P S o f t w a r e , b y L . R . M o r r i s , 1 9 8 3 .

[ 5 9 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

[ 6 0 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

[ 6 1 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

[ 6 2 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

[ 6 3 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

[ 6 4 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

[ 6 5 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

[ 6 6 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

[ 6 7 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 222/254

2 1 6

B I B L I O G R A P H Y

[ 6 8 ] C . S . B u r r u s a n d T . W . P a r k s . D F T / F F T a n d C o n v o l u t i o n A l g o r i t h m s . J o h n W i l e y

& S o n s , N e w Y o r k , 1 9 8 5 .

[ 6 9 ] C . S i d n e y B u r r u s , R a m e s h A . G o p i n a t h , a n d H a i t a o G u o . I n t r o d u c t i o n t o W a v e l e t s

a n d t h e W a v e l e t T r a n s f o r m . P r e n t i c e H a l l , U p p e r S a d d l e R i v e r , N J , 1 9 9 8 .

[ 7 0 ] C . S i d n e y B u r r u s a n d I v a n W . S e l e s n i c k . F a s t c o n v o l u t i o n a n d l t e r i n g . I n V . K . M a d i s -

e t t i a n d D . B . W i l l i a m s , e d i t o r s , T h e D i g i t a l S i g n a l P r o c e s s i n g H a n d b o o k , c h a p t e r 8 .

C R C P r e s s , B o c a R a t o n , 1 9 9 8 .

[ 7 1 ] I a i n R . B y a m . A n e w f a s t f o u r i e r t r a n s f o r m a l g o r i t h m . T e c h n i c a l r e p o r t , U n i v e r s i t y

o f t h e W e s t I n d i e s ( U W I ) , S t . A u g u s t i n e , T r i n i d a d , J u n e 1 9 9 9 . A s h o r t v e r s i o n i s i n

T e c h n i c a l R e p o r t P G - 9 9 0 0 1 , E C E D e p t . , U n i v . o f t h e W e s t I n d i e s , A u g . 1 9 9 9 .

[ 7 2 ] P . B r g i s s e r , M . C l a u s e n , a n d M . A . S h o k r o l l a h i . A l g e b r a i c C o m p l e x i t y T h e o r y . S p r i n g e r ,

1 9 9 7 .

[ 7 3 ] S . C . C h a n a n d K . L . H o . D i r e c t m e t h o d s f o r c o m p u t i n g d i s c r e t e s i n u s o i d a l t r a n s f o r m s .

I E E P r o c . F , 1 3 7 ( 6 ) : 4 3 3 8 2 1 1 ; 4 4 2 , 1 9 9 0 .

[ 7 4 ] D . C h a n o u x . S y n t h e s i s o f r e c u r s i v e d i g i t a l l t e r s u s i n g t h e t . I E E E T r a n s a c t i o n s o n

A u d i o a n d E l e c t r o a c o u s t i c s , A U - 1 8 : 2 1 1 8 2 1 1 ; 2 1 2 , J u n e 1 9 7 0 .

[ 7 5 ] K . T . C h e n . A n e w r e c o r d : T h e l a r g e s t k n o w n p r i m e n u m b e r . I E E E S p e c t r u m , 2 7 ( 2 ) : 4 7 ,

F e b r u a r y 1 9 9 0 .

[ 7 6 ] K . M . C h o a n d G . C . T e m e s . R e a l - f a c t o r t a l g o r i t h m s . I n P r o c e e d i n g s o f I E E E

I C A S S P - 7 8 , p a g e s 6 3 4 6 3 7 , T u l s a , O K , A p r i l 1 9 7 8 .

[ 7 7 ] S h u n i C h u a n d C . S . B u r r u s . A p r i m e f a c t o r t a l g o r i t h m u s i n g d i s t r i b u t e d a r i t h m e t i c .

I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 0 ( 2 ) : 2 1 7 8 2 1 1 ; 2 2 7 ,

A p r i l 1 9 8 2 .

[ 7 8 ] S h u n i C h u a n d C . S . B u r r u s . A p r i m e f a c t o r t a l g o r i t h m u s i n g d i s t r i b u t e d a r i t h m e t i c .

I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 0 ( 2 ) : 2 1 7 8 2 1 1 ; 2 2 7 ,

A p r i l 1 9 8 2 .

[ 7 9 ] S h u n i C h u a n d C . S . B u r r u s . A p r i m e f a c t o r t a l g o r i t h m u s i n g d i s t r i b u t e d a r i t h m e t i c .

I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 0 ( 2 ) : 2 1 7 8 2 1 1 ; 2 2 7 ,

A p r i l 1 9 8 2 .

[ 8 0 ] S h u n i C h u a n d C . S . B u r r u s . A p r i m e f a c t o r t a l g o r i t h m u s i n g d i s t r i b u t e d a r i t h m e t i c .

I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 0 ( 2 ) : 2 1 7 8 2 1 1 ; 2 2 7 ,

A p r i l 1 9 8 2 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 223/254

B I B L I O G R A P H Y 2 1 7

[ 8 1 ] T . A . C . M . C l a a s e n a n d W . F . G . M e c k l e n b r a k e r . O n s t a t i o n a r y l i n e a r

t i m e 8 2 1 1 ; v a r y i n g s y s t e m s . I E E E T r a n s . o n C i r c u i t s a n d S y s t e m s , 2 9 ( 3 ) : 1 6 9 8 2 1 1 ; 1 8 4 ,

M a r c h 1 9 8 2 .

[ 8 2 ] D S P C o m m i t t e e , e d i t o r . D i g i t a l S i g n a l P r o c e s s i n g I I , s e l e c t e d r e p r i n t s . I E E E P r e s s ,

N e w Y o r k , 1 9 7 9 .

[ 8 3 ] D S P C o m m i t t e e , e d i t o r . D i g i t a l S i g n a l P r o c e s s i n g I I , s e l e c t e d r e p r i n t s . I E E E P r e s s ,

N e w Y o r k , 1 9 7 9 .

[ 8 4 ] D S P C o m m i t t e e , e d i t o r . D i g i t a l S i g n a l P r o c e s s i n g I I , s e l e c t e d r e p r i n t s . I E E E P r e s s ,

N e w Y o r k , 1 9 7 9 .

[ 8 5 ] D S P C o m m i t t e e , e d i t o r . P r o g r a m s f o r D i g i t a l S i g n a l P r o c e s s i n g . I E E E P r e s s , N e w

Y o r k , 1 9 7 9 .

[ 8 6 ] J . W . C o o l e y . H o w t h e t g a i n e d a c c e p t a n c e . I E E E S i g n a l P r o c e s s i n g M a g a z i n e ,

9 ( 1 ) : 1 0 8 2 1 1 ; 1 3 , J a n u a r y 1 9 9 2 . A l s o p r e s e n t e d a t t h e A C M C o n f e r e n c e o n t h e H i s t o r y

o f S c i e n t i c a n d N u m e r i c a l C o m p u t a t i o n , P r i n c e t o n , N J , M a y 1 9 8 7 a n d p u b l i s h e d i n :

A H i s t o r y o f S c i e n t i c C o m p u t i n g , e d i t e d b y S . G . N a s h , A d d i s o n - W e s l e y , 1 9 9 0 , p p .

1 3 3 - 1 4 0 .

[ 8 7 ] J . W . C o o l e y . H o w t h e t g a i n e d a c c e p t a n c e . I E E E S i g n a l P r o c e s s i n g M a g a z i n e ,

9 ( 1 ) : 1 0 8 2 1 1 ; 1 3 , J a n u a r y 1 9 9 2 . A l s o p r e s e n t e d a t t h e A C M C o n f e r e n c e o n t h e H i s t o r y

o f S c i e n t i c a n d N u m e r i c a l C o m p u t a t i o n , P r i n c e t o n , N J , M a y 1 9 8 7 a n d p u b l i s h e d i n :

A H i s t o r y o f S c i e n t i c C o m p u t i n g , e d i t e d b y S . G . N a s h , A d d i s o n - W e s l e y , 1 9 9 0 , p p .

1 3 3 - 1 4 0 .

[ 8 8 ] J . W . C o o l e y a n d J . W . T u k e y . A n a l g o r i t h m f o r t h e m a c h i n e c a l c u l a t i o n o f c o m p l e x

f o u r i e r s e r i e s . M a t h . C o m p u t a t . , 1 9 : 2 9 7 8 2 1 1 ; 3 0 1 , 1 9 6 5 .

[ 8 9 ] J . W . C o o l e y a n d J . W . T u k e y . A n a l g o r i t h m f o r t h e m a c h i n e c a l c u l a t i o n o f c o m p l e x

f o u r i e r s e r i e s . M a t h . C o m p u t a t . , 1 9 : 2 9 7 8 2 1 1 ; 3 0 1 , 1 9 6 5 .

[ 9 0 ] J . W . C o o l e y a n d J . W . T u k e y . A n a l g o r i t h m f o r t h e m a c h i n e c a l c u l a t i o n o f c o m p l e x

f o u r i e r s e r i e s . M a t h . C o m p u t a t . , 1 9 : 2 9 7 8 2 1 1 ; 3 0 1 , 1 9 6 5 .

[ 9 1 ] J . W . C o o l e y a n d J . W . T u k e y . A n a l g o r i t h m f o r t h e m a c h i n e c a l c u l a t i o n o f c o m p l e x

f o u r i e r s e r i e s . M a t h . C o m p u t a t . , 1 9 : 2 9 7 8 2 1 1 ; 3 0 1 , 1 9 6 5 .

[ 9 2 ] J . W . C o o l e y a n d J . W . T u k e y . A n a l g o r i t h m f o r t h e m a c h i n e c o m p u t a t i o n o f t h e

c o m p l e x f o u r i e r s e r i e s . M a t h . C o m p u t a t i o n , 1 9 : 2 9 7 8 2 1 1 ; 3 0 1 , A p r i l 1 9 6 5 .

[ 9 3 ] J a m e s W . C o o l e y . T h e s t r u c t u r e o f t a l g o r i t h m s , A p r i l 1 9 9 0 . N o t e s f o r a T u t o r i a l a t

I E E E I C A S S P - 9 0 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 224/254

2 1 8

B I B L I O G R A P H Y

[ 9 4 ] J a m e s W . C o o l e y , P e t e r A . W . L e w i s , a n d P e t e r D . W e l c h . H i s t o r i c a l n o t e s o n t h e f a s t

f o u r i e r t r a n s f o r m . I E E E T r a n s a c t i o n s o n A u d i o a n d E l e c t r o a c o u s t i c s , 1 5 : 2 6 0 8 2 1 1 ; 2 6 2 ,

J u n e 1 9 6 7 .

[ 9 5 ] J a m e s W . C o o l e y , P e t e r A . W . L e w i s , a n d P e t e r D . W e l c h . H i s t o r i c a l n o t e s o n t h e f a s t

f o u r i e r t r a n s f o r m . I E E E T r a n s a c t i o n s o n A u d i o a n d E l e c t r o a c o u s t i c s , 1 5 : 2 6 0 8 2 1 1 ; 2 6 2 ,

J u n e 1 9 6 7 .

[ 9 6 ] T h o m a s H . C o r m e n , C h a r l e s E . L e i s e r s o n , a n d R o n a l d L . R i v e s t . I n t r o d u c t i o n t o

A l g o r i t h m s . T h e M I T P r e s s , C a m b r i d g e , M a s s a c h u s e t t s , 1 9 9 0 .

[ 9 7 ] R . E . C r o c h i e r e a n d L . R . R a b i n e r . M u l t i r a t e D i g i t a l S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , 1 9 8 3 .

[ 9 8 ] R o n a l d E . C r o c h i e r e a n d A l a n V . O p p e n h e i m . A n a l y s i s o f l i n e a r d i g i t a l n e t w o r k s .

P r o c . I E E E , 6 3 ( 4 ) : 5 8 1 8 2 1 1 ; 5 9 5 , 1 9 7 5 .

[ 9 9 ] I n g r i d D a u b e c h i e s . T e n L e c t u r e s o n W a v e l e t s . S I A M , P h i l a d e l p h i a , P A , 1 9 9 2 . N o t e s

f r o m t h e 1 9 9 0 C B M S - N S F C o n f e r e n c e o n W a v e l e t s a n d A p p l i c a t i o n s a t L o w e l l , M A .

[ 1 0 0 ] M u r r a y D o w . T r a n s p o s i n g a m a t r i x o n a v e c t o r c o m p u t e r . P a r a l l e l C o m p u t i n g ,

2 1 ( 1 2 ) : 1 9 9 7 2 0 0 5 , 1 9 9 5 .

[ 1 0 1 ] P . D u h a m e l . I m p l e m e n t a t i o n o f ` s p l i t - r a d i x ' t a l g o r i t h m s f o r c o m p l e x , r e a l , a n d r e a l -

s y m m e t r i c d a t a . I E E E T r a n s . o n A S S P , 3 4 : 2 8 5 8 2 1 1 ; 2 9 5 , A p r i l 1 9 8 6 . A s h o r t e r v e r s i o n

a p p e a r e d i n t h e I C A S S P - 8 5 P r o c e e d i n g s , p . 2 0 . 6 , M a r c h 1 9 8 5 .

[ 1 0 2 ] P . D u h a m e l . I m p l e m e n t a t i o n o f ` s p l i t - r a d i x ' t a l g o r i t h m s f o r c o m p l e x , r e a l , a n d r e a l -

s y m m e t r i c d a t a . I E E E T r a n s . o n A S S P , 3 4 : 2 8 5 8 2 1 1 ; 2 9 5 , A p r i l 1 9 8 6 . A s h o r t e r v e r s i o n

a p p e a r e d i n t h e I C A S S P - 8 5 P r o c e e d i n g s , p . 2 0 . 6 , M a r c h 1 9 8 5 .

[ 1 0 3 ] P . D u h a m e l . I m p l e m e n t a t i o n o f ` s p l i t - r a d i x ' t a l g o r i t h m s f o r c o m p l e x , r e a l , a n d r e a l -

s y m m e t r i c d a t a . I E E E T r a n s . o n A S S P , 3 4 : 2 8 5 8 2 1 1 ; 2 9 5 , A p r i l 1 9 8 6 . A s h o r t e r v e r s i o n

a p p e a r e d i n t h e I C A S S P - 8 5 P r o c e e d i n g s , p . 2 0 . 6 , M a r c h 1 9 8 5 .

[ 1 0 4 ] P . D u h a m e l . I m p l e m e n t a t i o n o f ` s p l i t - r a d i x ' t a l g o r i t h m s f o r c o m p l e x , r e a l , a n d r e a l -

s y m m e t r i c d a t a . I E E E T r a n s . o n A S S P , 3 4 : 2 8 5 8 2 1 1 ; 2 9 5 , A p r i l 1 9 8 6 . A s h o r t e r v e r s i o n

a p p e a r e d i n t h e I C A S S P - 8 5 P r o c e e d i n g s , p . 2 0 . 6 , M a r c h 1 9 8 5 .

[ 1 0 5 ] P . D u h a m e l a n d H . H o l l m a n n . S p l i t r a d i x t a l g o r i t h m . E l e c t r o n i c L e t t e r s ,

2 0 ( 1 ) : 1 4 8 2 1 1 ; 1 6 , J a n u a r y 5 1 9 8 4 .

[ 1 0 6 ] P . D u h a m e l a n d H . H o l l m a n n . S p l i t r a d i x t a l g o r i t h m . E l e c t r o n i c L e t t e r s ,

2 0 ( 1 ) : 1 4 8 2 1 1 ; 1 6 , J a n u a r y 5 1 9 8 4 .

[ 1 0 7 ] P . D u h a m e l a n d H . H o l l m a n n . S p l i t - r a d i x t a l g o r i t h m . E l e c t r o n i c s L e t t . , 2 0 ( 1 ) : 1 4 1 6 ,

1 9 8 4 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 225/254

B I B L I O G R A P H Y 2 1 9

[ 1 0 8 ] P . D u h a m e l a n d H . H o l l m a n n . S p l i t r a d i x t a l g o r i t h m . E l e c t r o n i c L e t t e r s ,

2 0 ( 1 ) : 1 4 8 2 1 1 ; 1 6 , J a n u a r y 5 1 9 8 4 .

[ 1 0 9 ] P . D u h a m e l , B . P i r o n , a n d J . M . E t c h e t o . O n c o m p u t i n g t h e i n v e r s e d f t . I E E E

T r a n s a c t i o n s o n A S S P , 3 6 ( 2 ) : 2 8 5 8 2 1 1 ; 2 8 6 , F e b r u a r y 1 9 7 8 .

[ 1 1 0 ] P . D u h a m e l a n d M . V e t t e r l i . C y c l i c c o n v o l u t i o n o f r e a l s e q u e n c e s : H a r t l e y v e r s u s

f o u r i e r a n d n e w s c h e m e s . P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s -

t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ( I C A S S P - 8 6 ) , p a g e 6 . 5 , A p r i l 1 9 8 6 .

[ 1 1 1 ] P . D u h a m e l a n d M . V e t t e r l i . C y c l i c c o n v o l u t i o n o f r e a l s e q u e n c e s : H a r t l e y v e r s u s

f o u r i e r a n d n e w s c h e m e s . P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s -

t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ( I C A S S P - 8 6 ) , p a g e 6 . 5 , A p r i l 1 9 8 6 .

[ 1 1 2 ] P . D u h a m e l a n d M . V e t t e r l i . C y c l i c c o n v o l u t i o n o f r e a l s e q u e n c e s : H a r t l e y v e r s u s

f o u r i e r a n d n e w s c h e m e s . P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s -

t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ( I C A S S P - 8 6 ) , p a g e 6 . 5 , A p r i l 1 9 8 6 .

[ 1 1 3 ] P . D u h a m e l a n d M . V e t t e r l i . I m p r o v e d f o u r i e r a n d h a r t l e y t r a n s f r o m a l g o r i t h m s , a p -

p l i c a t i o n t o c y c l i c c o n v o l u t i o n o f r e a l d a t a . I E E E T r a n s . o n A S S P , 3 5 ( 6 ) : 8 1 8 8 2 1 1 ; 8 2 4 ,

J u n e 1 9 8 7 .

[ 1 1 4 ] P . D u h a m e l a n d M . V e t t e r l i . F a s t f o u r i e r t r a n s f o r m s : a t u t o r i a l r e v i e w a n d a s t a t e o f

t h e a r t . S i g n a l P r o c e s s i n g , 1 9 : 2 5 9 8 2 1 1 ; 2 9 9 , A p r i l 1 9 9 0 .

[ 1 1 5 ] P . D u h a m e l a n d M . V e t t e r l i . F a s t f o u r i e r t r a n s f o r m s : A t u t o r i a l r e v i e w a n d a s t a t e o f

t h e a r t . S i g n a l P r o c e s s i n g , 1 9 ( 4 ) : 2 5 9 8 2 1 1 ; 2 9 9 , A p r i l 1 9 9 0 .

[ 1 1 6 ] P i e r r e D u h a m e l . A l g o r i t h m s m e e t i n g t h e l o w e r b o u n d s o n t h e m u l t i p l i c a t i v e c o m p l e x i t y

o f l e n g t h - d f t s a n d t h e i r c o n n e c t i o n w i t h p r a c t i c a l a l g o r i t h m s . I E E E T r a n s . A c o u s t . ,

S p e e c h , S i g n a l P r o c e s s i n g , 3 8 ( 9 ) : 1 5 0 4 1 5 1 1 , 1 9 9 0 .

[ 1 1 7 ] S . E g n e r a n d M . P s c h e l . A u t o m a t i c g e n e r a t i o n o f f a s t d i s c r e t e s i g n a l t r a n s f o r m s . I E E E

T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 9 ( 9 ) : 1 9 9 2 8 2 1 1 ; 2 0 0 2 , 2 0 0 1 .

[ 1 1 8 ] S e b a s t i a n E g n e r a n d M a r k u s P s c h e l . A u t o m a t i c g e n e r a t i o n o f f a s t d i s c r e t e s i g n a l

t r a n s f o r m s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 9 ( 9 ) : 1 9 9 2 8 2 1 1 ; 2 0 2 , 2 0 0 1 .

[ 1 1 9 ] D . F . E l l i o t t a n d K . F . R a o . F a s t T r a n s f o r m s : A l g o r i t h m s , A n a l y s e s a n d A p p l i c a t i o n s .

A c a d e m i c P r e s s , N e w Y o r k , 1 9 8 2 .

[ 1 2 0 ] D o u g l a s F . E l l i o t t , e d i t o r . H a n d b o o k o f D i g i t a l S i g n a l P r o c e s s i n g . A c a d e m i c P r e s s , S a n

D i e g o , C A , 1 9 8 7 . C h a p t e r 7 o n F F T b y E l l i o t t .

[ 1 2 1 ] D o u g l a s F . E l l i o t t , e d i t o r . H a n d b o o k o f D i g i t a l S i g n a l P r o c e s s i n g . A c a d e m i c P r e s s , S a n

D i e g o , C A , 1 9 8 7 . C h a p t e r 7 o n F F T b y E l l i o t t .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 226/254

2 2 0

B I B L I O G R A P H Y

[ 1 2 2 ] F u n d a E r g n . T e s t i n g m u l t i v a r i a t e l i n e a r f u n c t i o n s : O v e r c o m i n g t h e g e n e r a t o r b o t -

t l e n e c k . I n P r o c . T w e n t y - S e v e n t h A n n . A C M S y m p . T h e o r y o f C o m p u t i n g , p a g e

4 0 7 8 2 1 1 ; 4 1 6 , L a s V e g a s , N e v a d a , J u n e 1 9 9 5 .

[ 1 2 3 ] D . M . W . E v a n s . A s e c o n d i m p r o v e d d i g i t 8 2 1 1 ; r e v e r s a l p e r m u t a t i o n a l g o r i t h m f o r

f a s t t r a n s f o r m s . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ,

3 7 ( 8 ) : 1 2 8 8 8 2 1 1 ; 1 2 9 1 , A u g u s t 1 9 8 9 .

[ 1 2 4 ] W . E . F e r g u s o n , J r . A s i m p l e d e r i v a t i o n o f g l a s s m a n g e n e r a l - n f a s t f o u r i e r t r a n s f o r m .

C o m p u t . a n d M a t h . w i t h A p p l s . , 8 ( 6 ) : 4 0 1 8 2 1 1 ; 4 1 1 , 1 9 8 2 . A l s o , i n R e p o r t A D - A 0 8 3 8 1 1 ,

N T I S , D e c . 1 9 7 9 .

[ 1 2 5 ] W . E . F e r g u s o n , J r . A s i m p l e d e r i v a t i o n o f g l a s s m a n g e n e r a l - n f a s t f o u r i e r t r a n s f o r m .

C o m p u t . a n d M a t h . w i t h A p p l s . , 8 ( 6 ) : 4 0 1 8 2 1 1 ; 4 1 1 , 1 9 8 2 . A l s o , i n R e p o r t A D - A 0 8 3 8 1 1 ,

N T I S , D e c . 1 9 7 9 .

[ 1 2 6 ] P . A . F r a n a s e k a n d B . L i u . O n a c l a s s o f t i m e 8 2 1 1 ; v a r y i n g l t e r s . I E E E T r a n s . o n

I n f o r m a t i o n T h e o r y , 1 3 : 4 7 7 , 1 9 6 7 .

[ 1 2 7 ] F r a n z F r a n c h e t t i , S t e f a n K r a l , J u e r g e n L o r e n z , a n d C h r i s t o p h W . U e b e r h u b e r . D o m a i n

s p e c i c c o m p i l e r t e c h n i q u e s . M a n u s c r i p t i n p r e p a r a t i o n .

[ 1 2 8 ] M a t t e o F r i g o . A f a s t f o u r i e r t r a n s f o r m c o m p i l e r . I n P r o c . A C M S I G P L A N ' 9 9 C o n f e r -

e n c e o n P r o g r a m m i n g L a n g u a g e D e s i g n a n d I m p l e m e n t a t i o n ( P L D I ) , v o l u m e 3 4 , p a g e

1 6 9 8 2 1 1 ; 1 8 0 , A t l a n t a , G e o r g i a , M a y 1 9 9 9 . A C M .

[ 1 2 9 ] M a t t e o F r i g o . A f a s t f o u r i e r t r a n s f o r m c o m p i l e r . I n P r o c e e d i n g s o f t h e 1 9 9 9 A C M

S I G P L A N C o n f e r e n c e o n P r o g r a m m i n g L a n g u a g e D e s i g n a n d I m p l e n t a t i o n , P L D I - 9 9 ,

A t l a n t a , M a y 1 9 9 9 .

[ 1 3 0 ] M a t t e o F r i g o a n d S t e v e n G . J o h n s o n . T h e f a s t e s t f o u r i e r t r a n s f o r m i n t h e w e s t . T e c h -

n i c a l r e p o r t M I T - L C S - T R - 7 2 8 , L a b o r a t o r y f o r C o m p u t e r S c i e n c e , M I T , C a m b r i d g e ,

M A , S e p t e m b e r 1 9 9 7 .

[ 1 3 1 ] M a t t e o F r i g o a n d S t e v e n G . J o h n s o n . F f t w : A n a d a p t i v e s o f t w a r e a r c h i t e c t u r e f o r t h e

t . I n P r o c . I E E E I n t ' l C o n f . A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , v o l u m e 3 , p a g e

1 3 8 1 8 2 1 1 ; 1 3 8 4 , S e a t t l e , W A , M a y 1 9 9 8 .

[ 1 3 2 ] M a t t e o F r i g o a n d S t e v e n G . J o h n s o n . F f t w : A n a d a p t i v e s o f t w a r e a r c h i t e c t u r e f o r

t h e t . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d

S i g n a l P r o c e s s i n g , v o l u m e I I I , p a g e 1 3 8 1 8 2 1 1 ; 1 3 8 4 , I C A S S P - 9 8 , S e a t t l e , M a y 1 2 8 2 1 1 ; 1 5

1 9 9 8 .

[ 1 3 3 ] M a t t e o F r i g o a n d S t e v e n G . J o h n s o n . T h e t w w e b p a g e . h t t p : / / w w w . t w . o r g / , 2 0 0 3 .

[ 1 3 4 ] M a t t e o F r i g o a n d S t e v e n G . J o h n s o n . T h e d e s i g n a n d i m p l e m e n t a t i o n o f t w 3 . P r o c .

I E E E , 9 3 ( 2 ) : 2 1 6 8 2 1 1 ; 2 3 1 , 2 0 0 5 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 227/254

B I B L I O G R A P H Y 2 2 1

[ 1 3 5 ] M a t t e o F r i g o a n d S t e v e n G . J o h n s o n . T h e d e s i g n a n d i m p l e m e n t t i o n o f t w . P r o c e e d -

i n g s o f t h e I E E E , 9 3 ( 2 ) : 2 1 6 8 2 1 1 ; 2 3 1 , F e b r u a r y 2 0 0 5 .

[ 1 3 6 ] M a t t e o F r i g o a n d S t e v e n G . J o h n s o n . T h e d e s i g n a n d i m p l e m e n t t i o n o f t w . P r o c e e d -

i n g s o f t h e I E E E , 9 3 ( 2 ) : 2 1 6 8 2 1 1 ; 2 3 1 , F e b r u a r y 2 0 0 5 .

[ 1 3 7 ] M a t t e o F r i g o , C h a r l e s E . L e i s e r s o n , H a r a l d P r o k o p , a n d S r i d h a r R a m a c h a n d r a n .

C a c h e - o b l i v i o u s a l g o r i t h m s . I n P r o c . 4 0 t h A n n . S y m p . F o u n d a t i o n s o f C o m p u t e r S c i -

e n c e ( F O C S ' 9 9 ) , N e w Y o r k , U S A , O c t o b e r 1 9 9 9 .

[ 1 3 8 ] P a u l A . F u h r m a n . A P o l y n o m i a l A p p r o a c h t o L i n e a r A l g e b r a . S p r i n g e r V e r l a g , N e w

Y o r k , 1 9 9 6 .

[ 1 3 9 ] W . M . G e n t l e m a n a n d G . S a n d e . F a s t f o u r i e r t r a n s f o r m s 8 2 1 2 ; f o r f u n a n d p r o t . P r o c .

A F I P S , 2 9 : 5 6 3 8 2 1 1 ; 5 7 8 , 1 9 6 6 .

[ 1 4 0 ] S . P . G h a n e k a r , S . T a n t a r a t a n a , a n d L . E . F r a n k s . H i g h - p r e c i s i o n m u l t i p l i e r 8 2 1 1 ; f r e e r

l t e r r e a l i z a t i o n w i t h p e r i o d i c a l l y t i m e 8 2 1 1 ; v a r y i n g c o e c i e n t s . I n P a p e r S u m m a r i e s

f o r t h e 1 9 9 2 D S P W o r k s h o p , p a g e 3 . 3 . 1 , S t a r v e d R o c k L o d g e , U t i c a , I l l . , 1 9 9 2 .

[ 1 4 1 ] S . P . G h a n e k a r , S . T a n t a r a t a n a , a n d L . E . F r a n k s . A c l a s s o f h i g h - p r e c i s i o n m u l -

t i p l i e r 8 2 1 1 ; f r e e r l t e r r e a l i z a t i o n s w i t h p e r i o d i c a l l y t i m e 8 2 1 1 ; v a r y i n g c o e c i e n t s .

I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 3 ( 4 ) : 8 2 2 8 2 1 1 ; 8 3 0 , 1 9 9 5 .

[ 1 4 2 ] S a c h i n G h a n e k a r , S a w a s d T a n t a r a t a n a , a n d L e w i s E . F r a n k s . I m p l e m e n t a t i o n o f r e -

c u r s i v e l t e r s u s i n g h i g h l y q u a n t i z e d p e r i o d i c a l l y t i m e 8 2 1 1 ; v a r y i n g c o e c i e n t s . I n

P r o c e e d i n g s o f t h e I C A S S P - 9 1 , p a g e 1 6 2 5 8 2 1 1 ; 1 6 2 8 , T o r o n t o , C a n a d a , M a y 1 9 9 1 .

[ 1 4 3 ] J . A . G l a s s m a n . A g e n e r a l i z a t i o n o f t h e f a s t f o u r i e r t r a n s f o r m . I E E E T r a n s a c t i o n s o n

C o m p u t e r s , C - 1 9 ( 2 ) : 1 0 5 8 2 1 1 ; 1 1 6 , F e b u r a r y 1 9 7 0 .

[ 1 4 4 ] G . G o e r t z e l . A n a l g o r i t h m f o r t h e e v a l u a t i o n o f n i t e t r i g o n o m e t r i c s e r i e s . A m e r .

M a t h . M o n t h l y , 6 5 : 3 4 3 5 , J a n u a r y 1 9 5 8 .

[ 1 4 5 ] B . G o l d a n d K . L . J o r d a n . A n o t e o n d i g i t a l l t e r s y n t h e s i s . P r o c e e d i n g s o f t h e I E E E ,

5 6 : 1 7 1 7 8 2 1 1 ; 1 7 1 8 , O c t o b e r 1 9 6 8 .

[ 1 4 6 ] B . G o l d a n d C . M . R a d e r . D i g i t a l P r o c e s s i n g o f S i g n a l s . M c G r a w - H i l l , N e w Y o r k ,

1 9 6 9 .

[ 1 4 7 ] B . G o l d a n d C . M . R a d e r . D i g i t a l P r o c e s s i n g o f S i g n a l s . M c G r a w - H i l l , N e w Y o r k ,

1 9 6 9 .

[ 1 4 8 ] I . J . G o o d . I n t e r a c t i o n a l g o r i t h m a n d p r a c t i c a l f o u r i e r a n a l y s i s . J . R o y a l S t a t i s t . S o c . ,

B , 2 0 : 3 6 1 8 2 1 1 ; 3 7 2 , 1 9 5 8 . A d d e n d u m : v o l . 2 2 , 1 9 6 0 , p p 3 7 2 8 2 1 1 ; 3 7 5 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 228/254

2 2 2

B I B L I O G R A P H Y

[ 1 4 9 ] I . J . G o o d . I n t e r a c t i o n a l g o r i t h m a n d p r a c t i c a l f o u r i e r a n a l y s i s . J . R o y a l S t a t i s t . S o c . ,

B , 2 0 : 3 6 1 8 2 1 1 ; 3 7 2 , 1 9 5 8 . A d d e n d u m : v o l . 2 2 , 1 9 6 0 , p p 3 7 2 8 2 1 1 ; 3 7 5 .

[ 1 5 0 ] I . J . G o o d . I n t e r a c t i o n a l g o r i t h m a n d p r a c t i c a l f o u r i e r a n a l y s i s . J . R o y a l S t a t i s t . S o c . ,

B , 2 0 : 3 6 1 8 2 1 1 ; 3 7 2 , 1 9 5 8 . A d d e n d u m : v o l . 2 2 , 1 9 6 0 , p p 3 7 2 8 2 1 1 ; 3 7 5 .

[ 1 5 1 ] R . A . G o p i n a t h a n d C . S . B u r r u s . W a v e l e t t r a n s f o r m s a n d l t e r b a n k s . I n C h a r l e s K .

C h u i , e d i t o r , W a v e l e t s : A T u t o r i a l i n T h e o r y a n d A p p l i c a t i o n s , p a g e 6 0 3 8 2 1 1 ; 6 5 5 .

A c a d e m i c P r e s s , S a n D i e g o , C A , 1 9 9 2 . V o l u m e 2 i n t h e s e r i e s : W a v e l e t A n a l y s i s a n d

i t s A p p l i c a t i o n s .

[ 1 5 2 ] R a m e s h A . G o p i n a t h . W a v e l e t s a n d F i l t e r B a n k s 8 2 1 1 ; N e w R e s u l t s a n d A p p l i c a t i o n s .

P h . d . t h e s i s , R i c e U n i v e r s i t y , H o u s t o n , T x , A u g u s t 1 9 9 2 .

[ 1 5 3 ] J o h n G r a n a t a , M i c h a e l C o n n e r , a n d R i c h a r d T o l i m i e r i . R e c u r s i v e f a s t a l g o r i t h m s

a n d t h e r o l e o f t h e t e n s o r p r o d u c t . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g ,

4 0 ( 1 2 ) : 2 9 2 1 8 2 1 1 ; 2 9 3 0 , D e c e m b e r 1 9 9 2 .

[ 1 5 4 ] J o h n G r a n a t a , M i c h a e l C o n n e r , a n d R i c h a r d T o l i m i e r i . T h e t e n s o r p r o d u c t : A

m a t h e m a t i c a l p r o g r a m m i n g l a n g u a g e f o r t s . I E E E S i g n a l P r o c e s s i n g M a g a z i n e ,

9 ( 1 ) : 4 0 8 2 1 1 ; 4 8 , J a n u a r y 1 9 9 2 .

[ 1 5 5 ] H . G u o , G . A . S i t t o n , a n d C . S . B u r r u s . T h e q u i c k d i s c r e t e f o u r i e r t r a n s f o r m . I n P r o -

c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o -

c e s s i n g , p a g e I I I : 4 4 5 8 2 1 1 ; 4 4 8 , I E E E I C A S S P - 9 4 , A d e l a i d e , A u s t r a l i a , A p r i l 1 9 8 2 1 1 ; 2 2

1 9 9 4 .

[ 1 5 6 ] H . G u o , G . A . S i t t o n , a n d C . S . B u r r u s . T h e q u i c k d i s c r e t e f o u r i e r t r a n s f o r m . I n P r o -

c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o -

c e s s i n g , p a g e I I I : 4 4 5 8 2 1 1 ; 4 4 8 , I E E E I C A S S P - 9 4 , A d e l a i d e , A u s t r a l i a , A p r i l 1 9 8 2 1 1 ; 2 2

1 9 9 4 .

[ 1 5 7 ] H . G u o , G . A . S i t t o n , a n d C . S . B u r r u s . T h e q u i c k d i s c r e t e f o u r i e r t r a n s f o r m . I n P r o -

c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o -

c e s s i n g , p a g e I I I : 4 4 5 8 2 1 1 ; 4 4 8 , I E E E I C A S S P - 9 4 , A d e l a i d e , A u s t r a l i a , A p r i l 1 9 8 2 1 1 ; 2 2

1 9 9 4 .

[ 1 5 8 ] H . G u o , G . A . S i t t o n , a n d C . S . B u r r u s . T h e q u i c k f o u r i e r t r a n s f o r m : a n t b a s e d

o n s y m m e t r i e s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 6 ( 2 ) : 3 3 5 8 2 1 1 ; 3 4 1 , F e b r u a r y

1 9 9 8 .

[ 1 5 9 ] H . G u o , G . A . S i t t o n , a n d C . S . B u r r u s . T h e q u i c k f o u r i e r t r a n s f o r m : a n t b a s e d

o n s y m m e t r i e s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 6 ( 2 ) : 3 3 5 8 2 1 1 ; 3 4 1 , F e b r u a r y

1 9 9 8 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 229/254

B I B L I O G R A P H Y 2 2 3

[ 1 6 0 ] H . G u o , G . A . S i t t o n , a n d C . S . B u r r u s . T h e q u i c k f o u r i e r t r a n s f o r m : a n t b a s e d

o n s y m m e t r i e s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 6 ( 2 ) : 3 3 5 8 2 1 1 ; 3 4 1 , F e b r u a r y

1 9 9 8 .

[ 1 6 1 ] H a i t a o G u o a n d C . S i d n e y B u r r u s . A p p r o x i m a t e t v i a t h e d i s c r e t e w a v e l e t t r a n s f o r m .

I n P r o c e e d i n g s o f S P I E C o n f e r e n c e 2 8 2 5 , D e n v e r , A u g u s t 6 8 2 1 1 ; 9 1 9 9 6 .

[ 1 6 2 ] H a i t a o G u o a n d C . S i d n e y B u r r u s . A p p r o x i m a t e t v i a t h e d i s c r e t e w a v e l e t t r a n s f o r m .

I n P r o c e e d i n g s o f S P I E C o n f e r e n c e 2 8 2 5 , D e n v e r , A u g u s t 6 8 2 1 1 ; 9 1 9 9 6 .

[ 1 6 3 ] H a i t a o G u o a n d C . S i d n e y B u r r u s . W a v e l e t t r a n s f o r m b a s e d f a s t a p p r o x i m a t e f o u r i e r

t r a n s f o r m . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h ,

a n d S i g n a l P r o c e s s i n g , v o l u m e 3 , p a g e I I I : 1 9 7 3 8 2 1 1 ; 1 9 7 6 , I E E E I C A S S P - 9 7 , M u n i c h ,

A p r i l 2 1 8 2 1 1 ; 2 4 1 9 9 7 .

[ 1 6 4 ] H a i t a o G u o a n d C . S i d n e y B u r r u s . W a v e l e t t r a n s f o r m b a s e d f a s t a p p r o x i m a t e f o u r i e r

t r a n s f o r m . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h ,

a n d S i g n a l P r o c e s s i n g , v o l u m e 3 , p a g e I I I : 1 9 7 3 8 2 1 1 ; 1 9 7 6 , I E E E I C A S S P - 9 7 , M u n i c h ,

A p r i l 2 1 8 2 1 1 ; 2 4 1 9 9 7 .

[ 1 6 5 ] G . H . H a r d y a n d E . M . W r i g h t . A n I n t r o d u c t i o n t o t h e T h e o r y o f N u m b e r s . O x f o r d ,

L o n d o n , f o u r t h e d i t i o n , 1 9 3 8 , 1 9 6 0 .

[ 1 6 6 ] M a r k u s H e g l a n d . A s e l f - s o r t i n g i n - p l a c e f a s t f o u r i e r t r a n s f o r m a l g o r i t h m s u i t a b l e f o r

v e c t o r a n d p a r a l l e l p r o c e s s i n g . N u m e r i s c h e M a t h e m a t i k , 6 8 ( 4 ) : 5 0 7 8 2 1 1 ; 5 4 7 , 1 9 9 4 .

[ 1 6 7 ] M a r k u s H e g l a n d a n d W . W . W h e e l e r . L i n e a r b i j e c t i o n s a n d t h e f a s t f o u r i e r t r a n s f o r m .

A p p l i c a b l e A l g e b r a i n E n g i n e e r i n g , C o m m u n i c a t i o n a n d C o m p u t i n g , 8 ( 2 ) : 1 4 3 8 2 1 1 ; 1 6 3 ,

1 9 9 7 .

[ 1 6 8 ] M . T . H e i d e m a n . p r i v a t e c o m m u n i c a t i o n , 1 9 8 5 .

[ 1 6 9 ] M . T . H e i d e m a n . F a s t A l g o r i t h m s f o r t h e D F T a n d C o n v o l u t i o n w i t h C o n s t r a i n e d

I n p u t s a n d R e s t r i c t e d O u t p u t s . P h . d . t h e s i s , R i c e U n i v e r s i t y , M a y 1 9 8 6 .

[ 1 7 0 ] M . T . H e i d e m a n . M u l t i p l i c a t i v e C o m p l e x i t y , C o n v o l u t i o n , a n d t h e D F T .

S p r i n g e r 8 2 1 1 ; V e r l a g , 1 9 8 8 .

[ 1 7 1 ] M . T . H e i d e m a n a n d C . S . B u r r u s . O n t h e n u m b e r o f m u l t i p l i c a t i o n s n e c e s s a r y t o

c o m p u t e a l e n g t h - d f t . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ,

3 4 ( 1 ) : 9 1 8 2 1 1 ; 9 5 , F e b r u a r y 1 9 8 6 .

[ 1 7 2 ] M . T . H e i d e m a n a n d C . S . B u r r u s . O n t h e n u m b e r o f m u l t i p l i c a t i o n s n e c e s s a r y t o

c o m p u t e a l e n g t h - d f t . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ,

3 4 ( 1 ) : 9 1 8 2 1 1 ; 9 5 , F e b r u a r y 1 9 8 6 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 230/254

2 2 4

B I B L I O G R A P H Y

[ 1 7 3 ] M . T . H e i d e m a n , D . H . J o h n s o n , a n d C . S . B u r r u s . G a u s s a n d t h e h i s t o r y o f t h e f a s t

f o u r i e r t r a n s f o r m . I E E E A S S P M a g a z i n e , 1 ( 4 ) : 1 4 2 1 , 1 9 8 4 .

[ 1 7 4 ] M . T . H e i d e m a n , D . H . J o h n s o n , a n d C . S . B u r r u s . G a u s s a n d t h e h i s t o r y o f t h e

t . I E E E A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g M a g a z i n e , 1 ( 4 ) : 1 4 8 2 1 1 ; 2 1 , O c t o b e r

1 9 8 4 . a l s o i n A r c h i v e f o r H i s t o r y o f E x a c t S c i e n c e s , 1 9 8 5 .

[ 1 7 5 ] M . T . H e i d e m a n , D . H . J o h n s o n , a n d C . S . B u r r u s . G a u s s a n d t h e h i s t o r y o f t h e

t . I E E E A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g M a g a z i n e , 1 ( 4 ) : 1 4 8 2 1 1 ; 2 1 , O c t o b e r

1 9 8 4 . a l s o i n A r c h i v e f o r H i s t o r y o f E x a c t S c i e n c e s , 1 9 8 5 .

[ 1 7 6 ] M . T . H e i d e m a n , D . H . J o h n s o n , a n d C . S . B u r r u s . G a u s s a n d t h e h i s t o r y o f t h e t .

A r c h i v e f o r H i s t o r y o f E x a c t S c i e n c e s , 3 4 ( 3 ) : 2 6 5 8 2 1 1 ; 2 7 7 , 1 9 8 5 .

[ 1 7 7 ] M . T . H e i d e m a n , H . W . J o h n s o n , a n d C . S . B u r r u s . P r i m e f a c t o r t a l g o r i t h m s

f o r r e a l 8 2 1 1 ; v a l u e d s e r i e s . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n

A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e 2 8 A . 7 . 1 8 2 1 1 ; 4 , S a n D i e g o , C A , M a r c h

1 9 8 4 .

[ 1 7 8 ] M . T . H e i d e m a n , H . W . J o h n s o n , a n d C . S . B u r r u s . P r i m e f a c t o r t a l g o r i t h m s

f o r r e a l 8 2 1 1 ; v a l u e d s e r i e s . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n

A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e 2 8 A . 7 . 1 8 2 1 1 ; 4 , S a n D i e g o , C A , M a r c h

1 9 8 4 .

[ 1 7 9 ] M . T . H e i d e m a n , H . W . J o h n s o n , a n d C . S . B u r r u s . P r i m e f a c t o r t a l g o r i t h m s

f o r r e a l 8 2 1 1 ; v a l u e d s e r i e s . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n

A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e 2 8 A . 7 . 1 8 2 1 1 ; 4 , S a n D i e g o , C A , M a r c h

1 9 8 4 .

[ 1 8 0 ] M i c h a e l T . H e i d e m a n a n d C . S i d n e y B u r r u s . O n t h e n u m b e r o f m u l t i p l i c a t i o n s n e c -

e s s a r y t o c o m p u t e a l e n g t h - d f t . I E E E T r a n s . A c o u s t . , S p e e c h , S i g n a l P r o c e s s i n g ,

3 4 ( 1 ) : 9 1 9 5 , 1 9 8 6 .

[ 1 8 1 ] H . D . H e l m s . F a s t f o u r i e r t r a n s f o r m m e t h o d o f c o m p u t i n g d i e r e n c e e q u a t i o n s a n d

s i m u l a t i n g l t e r s . I E E E T r a n s . o n A u d i o a n d E l e c t r o a c o u s t i c s , A U - 1 5 : 8 5 8 2 1 1 ; 9 0 , J u n e

1 9 6 7 .

[ 1 8 2 ] N . J . H i g h a m . T h e a c c u r a c y o f o a t i n g - p o i n t s u m m a t i o n . S I A M J . S c i . C o m p u t . ,

1 4 ( 4 ) : 7 8 3 8 2 1 1 ; 7 9 9 , J u l y 1 9 9 3 .

[ 1 8 3 ] W . K . H o c k i n g . P e r f o r m i n g f o u r i e r t r a n s f o r m s o n e x t r e m e l y l o n g d a t a s t r e a m s . C o m -

p u t e r s i n P h y s i c s , 3 ( 1 ) : 5 9 8 2 1 1 ; 6 5 , J a n u a r y 1 9 8 9 .

[ 1 8 4 ] J i a - W e i H o n g a n d H . T . K u n g . I / o c o m p l e x i t y : t h e r e d - b l u e p e b b l i n g g a m e . I n P r o c .

T h i r t e e n t h A n n . A C M S y m p . T h e o r y o f C o m p u t i n g , p a g e 3 2 6 8 2 1 1 ; 3 3 3 , M i l w a u k e e ,

1 9 8 1 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 231/254

B I B L I O G R A P H Y 2 2 5

[ 1 8 5 ] A . N . H o s s e n , U . H e u t e , O . V . S h e n t o v , a n d S . K . M i t r a . S u b b a n d d f t 8 2 1 1 ; p a r t i i :

A c c u r a c y , c o m p l e x i t y , a n d a p p l i c a t i o n s . S i g n a l P r o c e s s i n g , 4 1 : 2 7 9 8 2 1 1 ; 2 9 5 , 1 9 9 5 .

[ 1 8 6 ] J e c h a n g J e o n g a n d W i l l i a m J . W i l l i a m s . A f a s t r e c u r s i v e b i t - r e v e r s a l a l g o r i t h m . I n

P r o c e e d i n g s o f t h e I C A S S P - 9 0 , p a g e 1 5 1 1 8 2 1 1 ; 1 5 1 4 , A l b u q u e r q u e , N M , A p r i l 1 9 9 0 .

[ 1 8 7 ] H . W . J o h n s o n a n d C . S . B u r r u s . L a r g e d f t m o d u l e s : N = 1 1 , 1 3 , 1 7 , 1 9 , a n d 2 5 .

T e c h n i c a l r e p o r t 8 1 0 5 , D e p a r t m e n t o f E l e c t r i c a l E n g i n e e r i n g , R i c e U n i v e r s i t y , H o u s t o n ,

T X 7 7 2 5 1 8 2 1 1 ; 1 8 9 2 , 1 9 8 1 .

[ 1 8 8 ] H . W . J o h n s o n a n d C . S . B u r r u s . L a r g e d f t m o d u l e s : N = 1 1 , 1 3 , 1 7 , 1 9 , a n d 2 5 .

T e c h n i c a l r e p o r t 8 1 0 5 , D e p a r t m e n t o f E l e c t r i c a l E n g i n e e r i n g , R i c e U n i v e r s i t y , H o u s t o n ,

T X 7 7 2 5 1 8 2 1 1 ; 1 8 9 2 , 1 9 8 1 .

[ 1 8 9 ] H . W . J o h n s o n a n d C . S . B u r r u s . L a r g e d f t m o d u l e s : N = 1 1 , 1 3 , 1 7 , 1 9 , a n d 2 5 .

T e c h n i c a l r e p o r t 8 1 0 5 , D e p a r t m e n t o f E l e c t r i c a l E n g i n e e r i n g , R i c e U n i v e r s i t y , H o u s t o n ,

T X 7 7 2 5 1 8 2 1 1 ; 1 8 9 2 , 1 9 8 1 .

[ 1 9 0 ] H . W . J o h n s o n a n d C . S . B u r r u s . T h e d e s i g n o f o p t i m a l d f t a l g o r i t h m s u s i n g d y n a m i c

p r o g r a m m i n g . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s ,

S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e 2 0 8 2 1 1 ; 2 3 , P a r i s , M a y 1 9 8 2 .

[ 1 9 1 ] H . W . J o h n s o n a n d C . S . B u r r u s . T h e d e s i g n o f o p t i m a l d f t a l g o r i t h m s u s i n g d y -

n a m i c p r o g r a m m i n g . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ,

3 1 ( 2 ) : 3 7 8 8 2 1 1 ; 3 8 7 , A p r i l 1 9 8 3 .

[ 1 9 2 ] H . W . J o h n s o n a n d C . S . B u r r u s . A n i n - o r d e r , i n - p l a c e r a d i x - 2 t . I n P r o c e e d i n g s o f

t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e

2 8 A . 2 . 1 8 2 1 1 ; 4 , S a n D i e g o , C A , M a r c h 1 9 8 4 .

[ 1 9 3 ] H . W . J o h n s o n a n d C . S . B u r r u s . A n i n - o r d e r , i n - p l a c e r a d i x - 2 t . I n P r o c e e d i n g s o f

t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e

2 8 A . 2 . 1 8 2 1 1 ; 4 , S a n D i e g o , C A , M a r c h 1 9 8 4 .

[ 1 9 4 ] H . W . J o h n s o n a n d C . S . B u r r u s . A n i n - o r d e r , i n - p l a c e r a d i x - 2 t . I n P r o c e e d i n g s o f

t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e

2 8 A . 2 . 1 8 2 1 1 ; 4 , S a n D i e g o , C A , M a r c h 1 9 8 4 .

[ 1 9 5 ] H . W . J o h n s o n a n d C . S . B u r r u s . A n i n - p l a c e i n - o r d e r r a d i x - 2 t . I n P r o c . I E E E I n t ' l

C o n f . A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e 2 8 A . 2 . 1 8 2 1 1 ; 4 , 1 9 8 4 .

[ 1 9 6 ] H . W . J o h n s o n a n d C . S . B u r r u s . A n i n - p l a c e , i n - o r d e r r a d i x - 2 t . I n I C A S S P - 8 4

P r o c e e d i n g s , p a g e 2 8 A . 2 , M a r c h 1 9 8 4 .

[ 1 9 7 ] H o w a r d W . J o h n s o n a n d C . S . B u r r u s . O n t h e s t r u c t u r e o f e c i e n t d f t a l g o r i t h m s .

I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 3 ( 1 ) : 2 4 8 8 2 1 1 ; 2 5 4 ,

F e b r u a r y 1 9 8 5 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 232/254

2 2 6

B I B L I O G R A P H Y

[ 1 9 8 ] H o w a r d W . J o h n s o n a n d C . S . B u r r u s . O n t h e s t r u c t u r e o f e c i e n t d f t a l g o r i t h m s .

I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 3 ( 1 ) : 2 4 8 8 2 1 1 ; 2 5 4 ,

F e b r u a r y 1 9 8 5 .

[ 1 9 9 ] H o w a r d W . J o h n s o n a n d C . S . B u r r u s . O n t h e s t r u c t u r e o f e c i e n t d f t a l g o r i t h m s .

I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 3 ( 1 ) : 2 4 8 8 2 1 1 ; 2 5 4 ,

F e b r u a r y 1 9 8 5 .

[ 2 0 0 ] J . J o h n s o n , R . W . J o h n s o n , D . R o d r i g u e z , a n d R . T o l i m i e r i . A m e t h o d o l o g y f o r

d e s i g n i n g , m o d i f y i n g , a n d i m p l e m e n t i n g f o u r i e r t r a n s f o r m a l g o r i t h m s o n v a r i o u s a r c h i -

t e c t u r e s . C i r c u i t s , S y s t e m s a n d S i g n a l P r o c e s s i n g , 9 ( 4 ) : 4 4 9 8 2 1 1 ; 5 0 0 , 1 9 9 0 .

[ 2 0 1 ] S t e v e n G . J o h n s o n a n d M a t t e o F r i g o . A m o d i e d s p l i t - r a d i x t w i t h f e w e r a r i t h m e t i c

o p e r a t i o n s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 5 5 ( 1 ) : 1 1 1 8 2 1 1 ; 1 1 9 , J a n u a r y 2 0 0 7 .

[ 2 0 2 ] S t e v e n G . J o h n s o n a n d M a t t e o F r i g o . A m o d i e d s p l i t - r a d i x t w i t h f e w e r a r i t h m e t i c

o p e r a t i o n s . I E E E T r a n s . S i g n a l P r o c e s s i n g , 5 5 ( 1 ) : 1 1 1 8 2 1 1 ; 1 1 9 , 2 0 0 7 .

[ 2 0 3 ] S t e v e n G . J o h n s o n a n d M a t t e o F r i g o . A m o d i e d s p l i t - r a d i x t w i t h f e w e r a r i t h m e t i c

o p e r a t i o n s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 5 5 ( 1 ) : 1 1 1 8 2 1 1 ; 1 1 9 , J a n u a r y 2 0 0 7 .

[ 2 0 4 ] S t e v e n G . J o h n s o n a n d J . D . J o a n n o p o u l o s . B l o c k - i t e r a t i v e f r e q u e n c y - d o m a i n m e t h o d s

f o r m a x w e l l ' s e q u a t i o n s i n a p l a n e w a v e b a s i s . O p t i c s E x p r e s s , 8 ( 3 ) : 1 7 3 8 2 1 1 ; 1 9 0 , 2 0 0 1 .

[ 2 0 5 ] D o u g l a s L . J o n e s . T h e D F T , F F T , a n d P r a c t i c a l S p e c t r a l A n a l y s i s . C o n n e x i o n s ,

F e b r u a r y 2 0 0 7 . h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 2 8 1 / 1 . 2 / .

[ 2 0 6 ] D o u g l a s L . J o n e s . T h e D F T , F F T , a n d P r a c t i c a l S p e c t r a l A n a l y s i s . C o n n e x i o n s ,

F e b r u a r y 2 0 0 7 . h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 2 8 1 / 1 . 2 / .

[ 2 0 7 ] A l a n H . K a r p . B i t r e v e r s a l o n u n i p r o c e s s o r s . S I A M R e v . , 3 8 ( 1 ) : 1 8 2 1 1 ; 2 6 , 1 9 9 6 .

[ 2 0 8 ] D o n a l d E . K n u t h . T h e A r t o f C o m p u t e r P r o g r a m m i n g , V o l . 2 , S e m i n u m e r i c a l A l g o -

r i t h m s . A d d i s o n - W e s l e y , R e a d i n g , M A , t h i r d e d i t i o n , 1 9 9 7 .

[ 2 0 9 ] D o n a l d E . K n u t h . T h e A r t o f C o m p u t e r P r o g r a m m i n g , V o l . 2 , S e m i n u m e r i c a l A l g o -

r i t h m s . A d d i s o n - W e s l e y , R e a d i n g , M A , t h i r d e d i t i o n , 1 9 9 7 .

[ 2 1 0 ] D o n a l d E . K n u t h . F u n d a m e n t a l A l g o r i t h m s , v o l u m e 1 o f T h e A r t o f C o m p u t e r P r o -

g r a m m i n g . A d d i s o n - W e s l e y , 3 n d e d i t i o n , 1 9 9 7 .

[ 2 1 1 ] J o h n F . K o h n e . A q u i c k f o u r i e r t r a n s f o r m a l g o r i t h m . T e c h n i c a l r e p o r t T R - 1 7 2 3 , N a v a l

E l e c t r o n i c s L a b o r a t o r y C e n t e r , J u l y 1 9 8 0 .

[ 2 1 2 ] D . P . K o l b a a n d T . W . P a r k s . A p r i m e f a c t o r t a l g o r i t h m u s i n g h i g h s p e e d c o n v o l u t i o n .

I E E E T r a n s . o n A S S P , 2 5 : 2 8 1 8 2 1 1 ; 2 9 4 , A u g u s t 1 9 7 7 . a l s o i n .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 233/254

B I B L I O G R A P H Y 2 2 7

[ 2 1 3 ] D . P . K o l b a a n d T . W . P a r k s . A p r i m e f a c t o r t a l g o r i t h m u s i n g h i g h s p e e d c o n v o l u t i o n .

I E E E T r a n s . o n A S S P , 2 5 : 2 8 1 8 2 1 1 ; 2 9 4 , A u g u s t 1 9 7 7 . a l s o i n .

[ 2 1 4 ] D . P . K o l b a a n d T . W . P a r k s . A p r i m e f a c t o r t a l g o r i t h m u s i n g h i g h s p e e d c o n v o l u t i o n .

I E E E T r a n s . o n A S S P , 2 5 : 2 8 1 8 2 1 1 ; 2 9 4 , A u g u s t 1 9 7 7 . a l s o i n .

[ 2 1 5 ] H . K r i s h n a , B . K r i s h n a , K . - Y . L i n , a n d J . - D . S u n . C o m p u t a t i o n a l N u m b e r T h e o r y a n d

D i g i t a l S i g n a l P r o c e s s i n g . C R C P r e s s , B o c a R a t o n , F L , 1 9 9 4 .

[ 2 1 6 ] Z . L i , H . V . S o r e n s e n , a n d C . S . B u r r u s . F f t a n d c o n v o l u t i o n a l g o r i t h m s f o r d s p

m i c r o p r o c e s s o r s . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s ,

S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e 2 8 4 8 2 1 1 ; 2 9 2 , T o k y o , J a p a n , A p r i l 1 9 8 6 .

[ 2 1 7 ] J . S . L i m a n d A . V . O p p e n h e i m . A d v a n c e d T o p i c s i n S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , 1 9 8 8 .

[ 2 1 8 ] J . S . L i m a n d A . V . O p p e n h e i m . A d v a n c e d T o p i c s i n S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , 1 9 8 8 .

[ 2 1 9 ] J a e S . L i m a n d A . V . O p p e n h e i m . A d v a n c e d T o p i c s i n S i g n a l P r o c e s s i n g , c h a p t e r 4 .

P r e n t i c e - H a l l , 1 9 8 8 .

[ 2 2 0 ] C . M . L o e e r a n d C . S . B u r r u s . E q u i v a l e n c e o f b l o c k l t e r r e p r e s e n t a t i o n s . I n P r o -

c e e d i n g s o f t h e 1 9 8 1 I E E E I n t e r n a t i o n a l S y m p o s i u m o n C i r c u i t s a n d S y s t e m s , p a g e s

5 4 6 5 5 0 , C h i c a g o , I L , A p r i l 1 9 8 1 .

[ 2 2 1 ] C . M . L o e e r a n d C . S . B u r r u s . P e r i o d i c a l l y t i m e 8 2 1 1 ; v a r y i n g b a n d w i d t h c o m p r e s s o r .

I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l S y m p o s i u m o n C i r c u i t s a n d S y s t e m s , p a g e

6 6 3 8 2 1 1 ; 6 6 5 , R o m e , I t a l y , M a y 1 9 8 2 .

[ 2 2 2 ] C . M . L o e e r a n d C . S . B u r r u s . O p t i m a l d e s i g n o f p e r i o d i c a l l y t i m e v a r y i n g a n d m u l -

t i r a t e d i g i t a l l t e r s . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ,

A S S P - 3 2 ( 5 ) : 9 9 1 9 2 4 , O c t o b e r 1 9 8 4 .

[ 2 2 3 ] C h a o L u , J a m e s W . C o o l e y , a n d R i c h a r d T o l i m i e r i . F f t a l g o r i t h m s f o r p r i m e t r a n s -

f o r m s i z e s a n d t h e i r i m p l e m e n t a t i o n s o n v a x , i b m 3 0 9 0 v f , a n d i b m r s / 6 0 0 0 . I E E E

T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 1 ( 2 ) : 6 3 8 8 2 1 1 ; 6 4 8 , F e b r u a r y 1 9 9 3 .

[ 2 2 4 ] D . P - K . L u n a n d W - C . S i u . A n a n a l y s i s f o r t h e r e a l i z a t i o n o f a n i n - p l a c e a n d i n - o r d e r

p r i m e f a c t o r a l g o r i t h m . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 1 ( 7 ) : 2 3 6 2 8 2 1 1 ; 2 3 7 0 ,

J u l y 1 9 9 3 .

[ 2 2 5 ] T . L u n d y a n d J . V a n B u s k i r k . A n e w m a t r i x a p p r o a c h t o r e a l t s a n d c o n v o l u t i o n s o f

l e n g t h . C o m p u t i n g , 8 0 ( 1 ) : 2 3 8 2 1 1 ; 4 5 , 2 0 0 7 .

[ 2 2 6 ] J . D . M a r k e l . F f t p r u n i n g . I E E E T r a n s o n A u d i o a n d E l e c t r o a c o u s t i c s ,

1 9 ( 4 ) : 3 0 5 8 2 1 1 ; 3 1 1 , J u n e 1 9 7 1 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 234/254

2 2 8

B I B L I O G R A P H Y

[ 2 2 7 ] J . B . M a r t e n s . R e c u r s i v e c y c l o t o m i c f a c t o r i z a t i o n 8 2 1 1 ; a n e w a l g o r i t h m f o r c a l c u l a t i n g

t h e d i s c r e t e f o u r i e r t r a n s f o r m . I E E E T r a n s . o n A S S P , 3 2 ( 4 ) : 7 5 0 8 2 1 1 ; 7 6 2 , A u g u s t 1 9 8 4 .

[ 2 2 8 ] J . B . M a r t e n s . R e c u r s i v e c y c l o t o m i c f a c t o r i z a t i o n 8 2 1 1 ; a n e w a l g o r i t h m f o r c a l c u l a t i n g

t h e d i s c r e t e f o u r i e r t r a n s f o r m . I E E E T r a n s . o n A S S P , 3 2 ( 4 ) : 7 5 0 8 2 1 1 ; 7 6 2 , A u g u s t 1 9 8 4 .

[ 2 2 9 ] J . B . M a r t e n s . R e c u r s i v e c y c l o t o m i c f a c t o r i z a t i o n 8 2 1 1 ; a n e w a l g o r i t h m f o r c a l c u l a t i n g

t h e d i s c r e t e f o u r i e r t r a n s f o r m . I E E E T r a n s . o n A S S P , 3 2 ( 4 ) : 7 5 0 8 2 1 1 ; 7 6 2 , A u g u s t 1 9 8 4 .

[ 2 3 0 ] J . B . M a r t e n s . R e c u r s i v e c y c l o t o m i c f a c t o r i z a t i o n 8 2 1 2 ; a n e w a l g o r i t h m f o r c a l c u l a t -

i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . I E E E T r a n s . A c o u s t . , S p e e c h , S i g n a l P r o c e s s i n g ,

3 2 ( 4 ) : 7 5 0 7 6 1 , 1 9 8 4 .

[ 2 3 1 ] D . M a s l e n a n d D . R o c k m o r e . G e n e r a l i z e d t s 8 2 1 1 ; a s u r v e y o f s o m e r e c e n t r e s u l t s .

I n P r o c e e d i n g s o f I M A C S W o r k s h o p i n G r o u p s a n d C o m p u t a t i o n , v o l u m e 2 8 , p a g e

1 8 2 8 2 1 1 ; 2 3 8 , 1 9 9 5 .

[ 2 3 2 ] J . H . M c C l e l l a n a n d C . M . R a d e r . N u m b e r T h e o r y i n D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 9 .

[ 2 3 3 ] J . H . M c C l e l l a n a n d C . M . R a d e r . N u m b e r T h e o r y i n D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 9 .

[ 2 3 4 ] J . H . M c C l e l l a n a n d C . M . R a d e r . N u m b e r T h e o r y i n D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 9 .

[ 2 3 5 ] J . H . M c C l e l l a n a n d C . M . R a d e r . N u m b e r T h e o r y i n D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 9 .

[ 2 3 6 ] J . H . M c C l e l l a n a n d C . M . R a d e r . N u m b e r T h e o r y i n D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 9 .

[ 2 3 7 ] J . H . M c C l e l l a n a n d C . M . R a d e r . N u m b e r T h e o r y i n D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 9 .

[ 2 3 8 ] J . H . M c C l e l l a n a n d C . M . R a d e r . N u m b e r T h e o r y i n D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , I n c . , E n g l e w o o d C l i s , N J , 1 9 7 9 .

[ 2 3 9 ] J . H . M c C l e l l a n a n d C . M . R a d e r . N u m b e r T h e o r y i n D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 9 .

[ 2 4 0 ] J . W . M e e k a n d A . S . V e l e t s o s . F a s t c o n v o l u t i o n f o r r e c u r s i v e d i g i t a l l t e r s . I E E E

T r a n s a c t i o n s o n A u d i o a n d E l e c t r o a c o u s t i c s , A U - 2 0 : 9 3 8 2 1 1 ; 9 4 , M a r c h 1 9 7 2 .

[ 2 4 1 ] R . M e y e r , R . R e n g , a n d K . S c h w a r z . C o n v o l u t i o n a l g o r i t h m s o n d s p p r o c e s s o r s . I n

P r o c e e d i n g s o f t h e I C A S S P - 9 1 , p a g e 2 1 9 3 8 2 1 1 ; 2 1 9 6 , T o r o n t o , C a n a d a , M a y 1 9 9 1 .

[ 2 4 2 ] R . M e y e r a n d K . S c h w a r z . F f t i m p l e m e n t a t i o n o n d s p - c h i p s , S e p t . 1 8 1 9 9 0 . p r e p r i n t .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 235/254

B I B L I O G R A P H Y 2 2 9

[ 2 4 3 ] R . M e y e r , K . S c h w a r z , a n d H . W . S c h u e s s l e r . F f t i m p l e m e n t a t i o n o n d s p - c h i p s 8 2 1 2 ;

t h e o r y a n d p r a c t i c e . I n P r o c e e d i n g s o f t h e I C A S S P - 9 0 , p a g e 1 5 0 3 8 2 1 1 ; 1 5 0 6 , A l b u -

q u e r q u e , N M , A p r i l 1 9 9 0 .

[ 2 4 4 ] R . A . M e y e r a n d C . S . B u r r u s . A u n i e d a n a l y s i s o f m u l t i r a t e a n d p e r i o d i c a l l y

t i m e v a r y i n g d i g i t a l l t e r s . I E E E T r a n s a c t i o n s o n C i r c u i t s a n d S y s t e m s , C A S -

2 2 ( 3 ) : 1 6 2 8 2 1 1 ; 1 6 8 , M a r c h 1 9 7 5 .

[ 2 4 5 ] R . A . M e y e r a n d C . S . B u r r u s . D e s i g n a n d i m p l e m e n t a t i o n o f m u l t i r a t e d i g i -

t a l l t e r s . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , A S S P -

2 4 ( 1 ) : 5 3 8 2 1 1 ; 5 8 , F e b r u a r y 1 9 7 6 .

[ 2 4 6 ] S . K . M i t r a a n d R . G r a n s e k a r a n . A n o t e o n b l o c k i m p l e m e n t a t i o n o f i i r d i g i t a l l t e r s .

I E E E T r a n s a c t i o n s o n C i r c u i t a n d S y s t e m s , C A S - 2 4 ( 7 ) , J u l y 1 9 7 7 .

[ 2 4 7 ] S . K . M i t r a a n d R . G r a n s e k a r a n . B l o c k i m p l e m e n t a t i o n o f r e c u r s i v e d i g i t a l l t e r s

8 2 1 1 ; n e w s t r u c t u r e s a n d p r o p e r t i e s . I E E E T r a n s a c t i o n s o n C i r c u i t a n d S y s t e m s ,

C A S - 2 5 ( 4 ) : 2 0 0 8 2 1 1 ; 2 0 7 , A p r i l 1 9 7 8 .

[ 2 4 8 ] J a c q u e s M o r g e n s t e r n . N o t e o n a l o w e r b o u n d o f t h e l i n e a r c o m p l e x i t y o f t h e f a s t f o u r i e r

t r a n s f o r m . 2 0 ( 2 ) : 3 0 5 3 0 6 , 1 9 7 3 .

[ 2 4 9 ] L . R . M o r r i s . D i g i t a l S i g n a l P r o c e s s i n g S o f t w a r e . D S P S W , I n c . , T o r o n t o , C a n a d a ,

1 9 8 2 , 1 9 8 3 .

[ 2 5 0 ] L . R . M o r r i s . D i g i t a l S i g n a l P r o c e s s i n g S o f t w a r e . D S P S W , I n c . , T o r o n t o , C a n a d a ,

1 9 8 2 , 1 9 8 3 .

[ 2 5 1 ] L . R . M o r r i s . D i g i t a l S i g n a l P r o c e s s i n g S o f t w a r e . D S P S W , I n c . , T o r o n t o , C a n a d a ,

1 9 8 2 , 1 9 8 3 .

[ 2 5 2 ] D o u g l a s G . M y e r s . D i g i t a l S i g n a l P r o c e s s i n g , E c i e n t C o n v o l u t i o n a n d F o u r i e r T r a n s -

f o r m T e c h n i q u e s . P r e n t i c e - H a l l , S y d n e y , A u s t r a l i a , 1 9 9 0 .

[ 2 5 3 ] D o u g l a s G . M y e r s . D i g i t a l S i g n a l P r o c e s s i n g , E c i e n t C o n v o l u t i o n a n d F o u r i e r T r a n s -

f o r m T e c h n i q u e s . P r e n t i c e - H a l l , S y d n e y , A u s t r a l i a , 1 9 9 0 .

[ 2 5 4 ] D o u g l a s G . M y e r s . D i g i t a l S i g n a l P r o c e s s i n g , E c i e n t C o n v o l u t i o n a n d F o u r i e r T r a n s -

f o r m T e c h n i q u e s . P r e n t i c e - H a l l , S y d n e y , A u s t r a l i a , 1 9 9 0 .

[ 2 5 5 ] K e n j i N a k a y a m a . A n i m p r o v e d f a s t f o u r i e r t r a n s f o r m a l g o r i t h m u s i n g m i x e d f r e -

q u e n c y a n d t i m e d e c i m a t i o n s . I E E E T r a n s . A c o u s t . , S p e e c h , S i g n a l P r o c e s s i n g ,

3 6 ( 2 ) : 2 9 0 8 2 1 1 ; 2 9 2 , 1 9 8 8 .

[ 2 5 6 ] P . J . N i c h o l s o n . A l g e b r a i c t h e o r y o f n i t e f o u r i e r t r a n s f o r m s . J o u r n a l o f C o m p u t e r

a n d S y s t e m S c i e n c e s , 5 : 5 2 4 8 2 1 1 ; 5 4 7 , 1 9 7 1 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 236/254

2 3 0

B I B L I O G R A P H Y

[ 2 5 7 ] P . J . N i c h o l s o n . A l g e b r a i c t h e o r y o f n i t e f o u r i e r t r a n s f o r m s . J o u r n a l o f C o m p u t e r

a n d S y s t e m S c i e n c e s , 5 ( 2 ) : 5 2 4 8 2 1 1 ; 5 4 7 , F e b r u a r y 1 9 7 1 .

[ 2 5 8 ] I v a n N i v e n a n d H . S . Z u c k e r m a n . A n I n t r o d u c t i o n t o t h e T h e o r y o f N u m b e r s . J o h n

W i l e y & S o n s , N e w Y o r k , f o u r t h e d i t i o n , 1 9 8 0 .

[ 2 5 9 ] I v a n N i v e n a n d H . S . Z u c k e r m a n . A n I n t r o d u c t i o n t o t h e T h e o r y o f N u m b e r s . J o h n

W i l e y & S o n s , N e w Y o r k , f o u r t h e d i t i o n , 1 9 8 0 .

[ 2 6 0 ] I v a n N i v e n a n d H . S . Z u c k e r m a n . A n I n t r o d u c t i o n t o t h e T h e o r y o f N u m b e r s . J o h n

W i l e y & S o n s , N e w Y o r k , f o u r t h e d i t i o n , 1 9 8 0 .

[ 2 6 1 ] H . J . N u s s b a u m e r . F a s t F o u r i e r T r a n s f o r m a n d C o n v o l u t i o n A l g o r i t h m s . S p r i n g e r -

V e r l a g , H e i d e l b e r g , G e r m a n y , s e c o n d e d i t i o n , 1 9 8 1 , 1 9 8 2 .

[ 2 6 2 ] H . J . N u s s b a u m e r . F a s t F o u r i e r T r a n s f o r m a n d C o n v o l u t i o n A l g o r i t h m s . S p r i n g e r -

V e r l a g , H e i d e l b e r g , G e r m a n y , s e c o n d e d i t i o n , 1 9 8 1 , 1 9 8 2 .

[ 2 6 3 ] H . J . N u s s b a u m e r . F a s t F o u r i e r T r a n s f o r m a n d C o n v o l u t i o n A l g o r i t h m s . S p r i n g e r -

V e r l a g , H e i d e l b e r g , G e r m a n y , s e c o n d e d i t i o n , 1 9 8 1 , 1 9 8 2 .

[ 2 6 4 ] H . J . N u s s b a u m e r . F a s t F o u r i e r T r a n s f o r m a n d C o n v o l u t i o n A l g o r i t h m s . S p r i n g e r -

V e r l a g , H e i d e l b e r g , G e r m a n y , s e c o n d e d i t i o n , 1 9 8 1 , 1 9 8 2 .

[ 2 6 5 ] H . J . N u s s b a u m e r . F a s t F o u r i e r T r a n s f o r m a n d C o n v o l u t i o n A l g o r i t h m s . S p r i n g e r -

V e r l a g , H e i d e l b e r g , G e r m a n y , s e c o n d e d i t i o n , 1 9 8 1 , 1 9 8 2 .

[ 2 6 6 ] H . J . N u s s b a u m e r . F a s t F o u r i e r T r a n s f o r m a n d C o n v o l u t i o n A l g o r i t h m s . S p r i n g e r -

V e r l a g , H e i d e l b e r g , G e r m a n y , s e c o n d e d i t i o n , 1 9 8 1 , 1 9 8 2 .

[ 2 6 7 ] H . J . N u s s b a u m e r . F a s t F o u r i e r T r a n s f o r m a n d C o n v o l u t i o n A l g o r i t h m s . S p r i n g e r -

V e r l a g , H e i d e l b e r g , G e r m a n y , s e c o n d e d i t i o n , 1 9 8 1 , 1 9 8 2 .

[ 2 6 8 ] H . J . N u s s b a u m e r . F a s t F o u r i e r T r a n s f o r m a t i o n a n d C o n v o l u t i o n A l g o r i t h m s . S p r i n g e r ,

2 n d e d i t i o n , 1 9 8 2 .

[ 2 6 9 ] A . V . O p p e n h e i m a n d R . W . S c h a f e r . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , 1 9 8 9 .

[ 2 7 0 ] A . V . O p p e n h e i m a n d R . W . S c h a f e r . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , 1 9 8 9 .

[ 2 7 1 ] A . V . O p p e n h e i m a n d R . W . S c h a f e r . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , s e c o n d e d i t i o n , 1 9 9 9 . E a r l i e r e d i t i o n s i n 1 9 7 5 a n d 1 9 8 9 .

[ 2 7 2 ] A . V . O p p e n h e i m a n d R . W . S c h a f e r . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , s e c o n d e d i t i o n , 1 9 9 9 . E a r l i e r e d i t i o n s i n 1 9 7 5 a n d 1 9 8 9 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 237/254

B I B L I O G R A P H Y 2 3 1

[ 2 7 3 ] A . V . O p p e n h e i m a n d R . W . S c h a f e r . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , s e c o n d e d i t i o n , 1 9 9 9 . E a r l i e r e d i t i o n s i n 1 9 7 5 a n d 1 9 8 9 .

[ 2 7 4 ] A . V . O p p e n h e i m a n d R . W . S c h a f e r . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , s e c o n d e d i t i o n , 1 9 9 9 . E a r l i e r e d i t i o n s i n 1 9 7 5 a n d 1 9 8 9 .

[ 2 7 5 ] A . V . O p p e n h e i m a n d R . W . S c h a f e r . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , s e c o n d e d i t i o n , 1 9 9 9 . E a r l i e r e d i t i o n s i n 1 9 7 5 a n d 1 9 8 9 .

[ 2 7 6 ] A . V . O p p e n h e i m a n d R . W . S c h a f e r . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g . P r e n t i c e - H a l l ,

E n g l e w o o d C l i s , N J , s e c o n d e d i t i o n , 1 9 9 9 . E a r l i e r e d i t i o n s i n 1 9 7 5 a n d 1 9 8 9 .

[ 2 7 7 ] A . V . O p p e n h e i m , R . W . S c h a f e r , a n d J . R . B u c k . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g .

P r e n t i c e H a l l , 2 n d e d i t i o n , 1 9 9 9 .

[ 2 7 8 ] A . V . O p p e n h e i m , R . W . S c h a f e r , a n d J . R . B u c k . D i s c r e t e - T i m e S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , U p p e r S a d d l e R i v e r , N J , 2 n d e d i t i o n , 1 9 9 9 .

[ 2 7 9 ] O y s t e i n O r e . N u m b e r T h e o r y a n d I t s H i s t o r y . M c G r a w - H i l l , N e w Y o r k , 1 9 4 8 .

[ 2 8 0 ] V i c t o r Y a . P a n . T h e t r a d e - o b e t w e e n t h e a d d i t i v e c o m p l e x i t y a n d t h e a s y n c r o n i c i t y

o f l i n e a r a n d b i l i n e a r a l g o r i t h m s . I n f o r m a t i o n P r o c . L e t t . , 2 2 : 1 1 8 2 1 1 ; 1 4 , 1 9 8 6 .

[ 2 8 1 ] C h r i s t o s H . P a p a d i m i t r i o u . O p t i m a l i t y o f t h e f a s t f o u r i e r t r a n s f o r m . 2 6 ( 1 ) : 9 5 1 0 2 ,

1 9 7 9 .

[ 2 8 2 ] T . W . P a r k s a n d C . S . B u r r u s . D i g i t a l F i l t e r D e s i g n . J o h n W i l e y & S o n s , N e w Y o r k ,

1 9 8 7 .

[ 2 8 3 ] T . W . P a r k s a n d C . S . B u r r u s . D i g i t a l F i l t e r D e s i g n . J o h n W i l e y & S o n s , N e w Y o r k ,

1 9 8 7 .

[ 2 8 4 ] T . W . P a r s o n s . A w i n o g r a d - f o u r i e r t r a n s f o r m a l g o r i t h m f o r r e a l - v a l u e d d a t a . I E E E

T r a n s . o n A S S P , 2 7 : 3 9 8 4 0 2 , A u g u s t 1 9 7 9 .

[ 2 8 5 ] F . P e r e z a n d T . T a k a o k a . A p r i m e f a c t o r t a l g o r i t h m i m p l e m e n t a t i o n u s i n g a p r o g r a m

g e n e r a t i o n t e c h n i q u e . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h a n d S i g n a l P r o c e s s i n g ,

3 5 : 1 2 2 1 8 2 1 1 ; 1 2 2 3 , A u g u s t 1 9 8 7 .

[ 2 8 6 ] I . P i t a s a n d C . S . B u r r u s . T i m e a n d e r r o r a n a l y s i s o f d i g i t a l c o n v o l u t i o n b y r e c t a n g u l a r

t r a n s f o r m s . S i g n a l P r o c e s s i n g , 5 ( 2 ) : 1 5 3 8 2 1 1 ; 1 6 2 , M a r c h 1 9 8 3 .

[ 2 8 7 ] I . P i t a s a n d C . S . B u r r u s . T i m e a n d e r r o r a n a l y s i s o f d i g i t a l c o n v o l u t i o n b y r e c t a n g u l a r

t r a n s f o r m s . S i g n a l P r o c e s s i n g , 5 ( 2 ) : 1 5 3 8 2 1 1 ; 1 6 2 , M a r c h 1 9 8 3 .

[ 2 8 8 ] J . M . P o l l a r d . T h e f a s t f o u r i e r t r a n s f o r m i n a n i t e e l d . M a t h e m a t i c s o f C o m p u t a t i o n ,

2 5 ( 1 1 4 ) : 3 6 5 8 2 1 1 ; 3 7 4 , A p r i l 1 9 7 1 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 238/254

2 3 2

B I B L I O G R A P H Y

[ 2 8 9 ] M i o d r a g P o p o v i 2 6 3 ; a n d D r a g u t i n 3 5 2 ; e v i 2 6 3 ; . A n e w l o o k a t t h e c o m p a r i s o n o f

t h e f a s t h a r t l e y a n d f o u r i e r t r a n s f o r m s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g ,

4 2 ( 8 ) : 2 1 7 8 8 2 1 1 ; 2 1 8 2 , A u g u s t 1 9 9 4 .

[ 2 9 0 ] W . H . P r e s s , B . P . F l a n n e r y , S . A . T e u k o l s k y , a n d W . T . V e t t e r l i n g . N u m e r i c a l R e c i p e s

i n C : T h e A r t o f S c i e n t i c C o m p u t i n g . C a m b r i d g e U n i v . P r e s s , N e w Y o r k , N Y , 2 n d

e d i t i o n , 1 9 9 2 .

[ 2 9 1 ] M . P s c h e l a n d J . M . F . M o u r a . A l g e b r a i c s i g n a l p r o c e s s i n g t h e o r y . a v a i l a b l e a t

h t t p : / / a r x i v . o r g / a b s / c s . I T / 0 6 1 2 0 7 7 .

[ 2 9 2 ] M . P s c h e l a n d J . M . F . M o u r a . T h e a l g e b r a i c a p p r o a c h t o t h e d i s c r e t e c o -

s i n e a n d s i n e t r a n s f o r m s a n d t h e i r f a s t a l g o r i t h m s . S I A M J o u r n a l o f C o m p u t i n g ,

3 2 ( 5 ) : 1 2 8 0 8 2 1 1 ; 1 3 1 6 , 2 0 0 3 .

[ 2 9 3 ] M . P s c h e l a n d J . M . F . M o u r a . A l g e b r a i c s i g n a l p r o c e s s i n g t h e o r y : 1 - d s p a c e . I E E E

T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 5 6 ( 8 ) : 3 5 8 6 3 5 9 9 , 2 0 0 8 .

[ 2 9 4 ] M . P s c h e l a n d J . M . F . M o u r a . A l g e b r a i c s i g n a l p r o c e s s i n g t h e o r y : C o o l e y - t u k e y t y p e

a l g o r i t h m s f o r d c t s a n d d s t s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 5 6 ( 4 ) : 1 5 0 2

1 5 2 1 , 2 0 0 8 . a l o n g e r v e r s i o n i s a v a i l a b l e a t h t t p : / / a r x i v . o r g / a b s / c s . I T / 0 7 0 2 0 2 5 .

[ 2 9 5 ] M . P s c h e l a n d J . M . F . M o u r a . A l g e b r a i c s i g n a l p r o c e s s i n g t h e o r y : F o u n d a t i o n a n d

1 - d t i m e . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 5 6 ( 8 ) : 3 5 7 2 3 5 8 5 , 2 0 0 8 .

[ 2 9 6 ] M a r k u s P s c h e l , J o s [U+FFFD] F . M o u r a , J e r e m y R . J o h n s o n , D a v i d P a d u a , M a n u e l a M .

V e l o s o , B r y a n W . S i n g e r , J i a n x i n X i o n g , F r a n z F r a n c h e t t i , A c a G a 2 6 9 ; i 2 6 3 ; , Y e v g e n

V o r o n e n k o , K a n g C h e n , R o b e r t W . J o h n s o n , a n d N i c h o l a s R i z z o l o . S p i r a l : C o d e

g e n e r a t i o n f o r d s p t r a n s f o r m s . P r o c . I E E E , 9 3 ( 2 ) : 2 3 2 2 7 5 , 2 0 0 5 .

[ 2 9 7 ] Z . Q i a n , C . L u , M . A n , a n d R . T o l i m i e r i . S e l f - s o r t i n g i n - p l a c e t a l g o r i t h m

w i t h m i n i m u m w o r k i n g s p a c e . I E E E T r a n s . A c o u s t . , S p e e c h , S i g n a l P r o c e s s i n g ,

4 2 ( 1 0 ) : 2 8 3 5 8 2 1 1 ; 2 8 3 6 , 1 9 9 4 .

[ 2 9 8 ] L . R . R a b i n e r a n d B . G o l d . T h e o r y a n d A p p l i c a t i o n o f D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 5 .

[ 2 9 9 ] L . R . R a b i n e r a n d B . G o l d . T h e o r y a n d A p p l i c a t i o n o f D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 5 .

[ 3 0 0 ] L . R . R a b i n e r a n d B . G o l d . T h e o r y a n d A p p l i c a t i o n o f D i g i t a l S i g n a l P r o c e s s i n g .

P r e n t i c e - H a l l , E n g l e w o o d C l i s , N J , 1 9 7 5 .

[ 3 0 1 ] L . R . R a b i n e r a n d C . M . R a d e r , e d i t o r s . D i g i t a l S i g n a l P r o c e s s i n g , s e l e c t e d r e p r i n t s .

I E E E P r e s s , N e w Y o r k , 1 9 7 2 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 239/254

B I B L I O G R A P H Y 2 3 3

[ 3 0 2 ] L . R . R a b i n e r a n d C . M . R a d e r , e d i t o r s . D i g i t a l S i g n a l P r o c e s s i n g , s e l e c t e d r e p r i n t s .

I E E E P r e s s , N e w Y o r k , 1 9 7 2 .

[ 3 0 3 ] L . R . R a b i n e r a n d C . M . R a d e r , e d i t o r s . D i g i t a l S i g n a l P r o c e s s i n g , s e l e c t e d r e p r i n t s .

I E E E P r e s s , N e w Y o r k , 1 9 7 2 .

[ 3 0 4 ] L a w r e n c e R a b i n e r . T h e c h i r p z - t r a n s f o r m a l g o r i t h m : a l e s s o n i n s e r e n d i p i t y . I E E E

S i g n a l P r o c e s s i n g M a g a z i n e , 2 4 : 1 1 8 8 2 1 1 ; 1 1 9 , M a r c h 2 0 0 4 .

[ 3 0 5 ] L a w r e n c e R . R a b i n e r , R o n a l d W . S c h a f e r , a n d C h a r l e s M . R a d e r . T h e c h i r p - t r a n s f o r m

a l g o r i t h m . I E E E T r a n s . A u d i o E l e c t r o a c o u s t i c s , 1 7 ( 2 ) : 8 6 8 2 1 1 ; 9 2 , 1 9 6 9 .

[ 3 0 6 ] L . R . R a b i n e r , R . W . S c h a f e r , a n d C . M . R a d e r . T h e c h i r p z - t r a n s f o r m a l g o r i t h m . I E E E

T r a n s a c t i o n s o n A u d i o E l e c t r o a c o u s t i c s , A U - 1 7 : 8 6 8 2 1 1 ; 9 2 , J u n e 1 9 6 9 .

[ 3 0 7 ] L . R . R a b i n e r , R . W . S c h a f e r , a n d C . M . R a d e r . T h e c h i r p z - t r a n s f o r m a l g o r i t h m . I E E E

T r a n s a c t i o n s o n A u d i o E l e c t r o a c o u s t i c s , A U - 1 7 : 8 6 8 2 1 1 ; 9 2 , J u n e 1 9 6 9 .

[ 3 0 8 ] C . M . R a d e r . D i s c r e t e f o u r i e r t r a n s f o r m s w h e n t h e n u m b e r o f d a t a s a m p l e s i s p r i m e .

P r o c e e d i n g s o f t h e I E E E , 5 6 : 1 1 0 7 8 2 1 1 ; 1 1 0 8 , J u n e 1 9 6 8 .

[ 3 0 9 ] C . M . R a d e r . D i s c r e t e f o u r i e r t r a n s f o r m s w h e n t h e n u m b e r o f d a t a s a m p l e s i s p r i m e .

P r o c . I E E E , 5 6 : 1 1 0 7 8 2 1 1 ; 1 1 0 8 , J u n e 1 9 6 8 .

[ 3 1 0 ] C . M . R a d e r a n d N . M . B r e n n e r . A n e w p r i n c i p l e f o r f a s t f o u r i e r t r a n s f o r m a t i o n . I E E E

T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , A S S P - 2 4 ( 3 ) : 2 6 4 2 6 6 , J u n e

1 9 7 6 .

[ 3 1 1 ] C h a r l e s M . R a d e r . D i s c r e t e c o n v o l u t i o n v i a m e r s e n n e t r a n s f o r m s . I E E E T r a n s a c t i o n s

o n C o m p u t e r s , 2 1 ( 1 2 ) : 1 2 6 9 8 2 1 1 ; 1 2 7 3 , D e c e m b e r 1 9 7 2 .

[ 3 1 2 ] C h a r l e s M . R a d e r . N u m b e r t h e o r e t i c c o n v o l u t i o n . I n I E E E S i g n a l P r o c e s s i n g W o r k -

s h o p , A r d e n H o u s e , H a r r i m a n , N Y , J a n u a r y 1 9 7 2 .

[ 3 1 3 ] C h a r l e s M . R a d e r a n d N . M . B r e n n e r . A n e w p r i n c i p l e f o r f a s t f o u r i e r t r a n s f o r m a t i o n .

I E E E T r a n s . A c o u s t . , S p e e c h , S i g n a l P r o c e s s i n g , 2 4 : 2 6 4 2 6 5 , 1 9 7 6 .

[ 3 1 4 ] K . R . R a o a n d P . Y i p . D i s c r e t e C o s i n e T r a n s f o r m : A l g o r i t h m s , A d v a n t a g e s , A p p l i c a -

t i o n s . A c a d e m i c P r e s s , S a n D i e g o , C A , 1 9 9 0 .

[ 3 1 5 ] J . M . R i u s a n d R . D e P o r r a t a - D [U+FFFD] . N e w t b i t - r e v e r s a l a l g o r i t h m . I E E E

T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 3 ( 4 ) : 9 9 1 8 2 1 1 ; 9 9 4 , A p r i l 1 9 9 5 .

[ 3 1 6 ] C h r i s t i a n R o c h e . A s p l i t 8 2 1 1 ; r a d i x p a r t i a l i n p u t / o u t p u t f a s t f o u r i e r t r a n s f o r m a l g o -

r i t h m . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 0 ( 5 ) : 1 2 7 3 8 2 1 1 ; 1 2 7 6 , M a y 1 9 9 2 .

[ 3 1 7 ] D . R o c k m o r e . S o m e a p p l i c a t i o n s o f g e n e r a l i z e d t ' s . I n P r o c e e d i n g s o f D I M A C S

W o r k s h o p i n G r o u p s a n d C o m p u t a t i o n , v o l u m e 2 8 , p a g e 3 2 9 8 2 1 1 ; 3 7 0 , 1 9 9 5 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 240/254

2 3 4

B I B L I O G R A P H Y

[ 3 1 8 ] J . J . R o d r [U+FFFD] e z . A n i m p r o v e d t d i g i t 8 2 1 1 ; r e v e r s a l a l g o r i t h m . I E E E T r a n s a c -

t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 7 ( 8 ) : 1 2 9 8 8 2 1 1 ; 1 3 0 0 , A u g u s t 1 9 8 9 .

[ 3 1 9 ] J . H . R o t h w e i l e r . I m p l e m e n t a t i o n o f t h e i n - o r d e r p r i m e f a c t o r t a l g o r i t h m . I E E E

T R A N S . O N A S S P , 3 0 : 1 0 5 1 0 7 , F e b r u a r y 1 9 8 2 .

[ 3 2 0 ] J . H . R o t h w e i l e r . I m p l e m e n t a t i o n o f t h e i n - o r d e r p r i m e f a c t o r t a l g o r i t h m . I E E E

T R A N S . O N A S S P , 3 0 : 1 0 5 1 0 7 , F e b r u a r y 1 9 8 2 .

[ 3 2 1 ] P e t r R s e l . T i m i n g o f s o m e b i t r e v e r s a l a l g o r i t h m s . S i g n a l P r o c e s s i n g ,

1 8 ( 4 ) : 4 2 5 8 2 1 1 ; 4 3 3 , D e c e m b e r 1 9 8 9 .

[ 3 2 2 ] A l i S a i d i . D e c i m a t i o n - i n - t i m e - f r e q u e n c y t a l g o r i t h m . I n P r o c . I E E E I n t ' l C o n f .

A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , v o l u m e 3 , p a g e 4 5 3 8 2 1 1 ; 4 5 6 , 1 9 9 4 .

[ 3 2 3 ] A l i S a i d i . D e c i m a t i o n - i n - t i m e - f r e q u e n c y t a l g o r i t h m . I n P r o c e e d i n g s o f t h e I E E E

I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , v o l u m e 3 , p a g e

I I I : 4 5 3 8 2 1 1 ; 4 5 6 , I E E E I C A S S P - 9 4 , A d e l a i d e , A u s t r a l i a , A p r i l 1 9 8 2 1 1 ; 2 2 1 9 9 4 .

[ 3 2 4 ] A l i S a i d i . D e c i m a t i o n - i n - t i m e - f r e q u e n c y t a l g o r i t h m , 1 9 9 6 . m a n u s c r i p t .

[ 3 2 5 ] G . S a n d e . F a s t f o u r i e r t r a n s f o r m - a g o b a l l y c o m p l e x a l g o r i t h m w i t h l o c a l l y r e a l

i m p l e m e n t a t i o n s . P r o c . 4 t h A n n u a l P r i n c e t o n C o n f e r e n c e o n I n f o r m a t i o n S c i e n c e s

a n d S y s t e m s , p a g e s 1 3 6 1 4 2 , M a r c h 1 9 7 0 .

[ 3 2 6 ] J a m e s C . S c h a t z m a n . A c c u r a c y o f t h e d i s c r e t e f o u r i e r t r a n s f o r m a n d t h e f a s t f o u r i e r

t r a n s f o r m . S I A M J . S c i e n t i c C o m p u t i n g , 1 7 ( 5 ) : 1 1 5 0 8 2 1 1 ; 1 1 6 6 , 1 9 9 6 .

[ 3 2 7 ] J a m e s C . S c h a t z m a n . I n d e x m a p p i n g f o r t h e f a s t f o u r i e r t r a n s f o r m . I E E E T r a n s a c t i o n s

o n S i g n a l P r o c e s s i n g , 4 4 ( 3 ) : 7 1 7 8 2 1 1 ; 7 1 9 , M a r c h 1 9 9 6 .

[ 3 2 8 ] M a n f r e d R . S c h r o e d e r . N u m b e r T h e o r y i n S c i e n c e a n d C o m m i n i c a t i o n .

S p r i n g e r 8 2 1 1 ; V e r l a g , B e r l i n , s e c o n d e d i t i o n , 1 9 8 4 , 1 9 8 6 .

[ 3 2 9 ] I . W . S e l e s n i c k a n d C . S . B u r r u s . A u t o m a t i n g t h e d e s i g n o f p r i m e l e n g t h t p r o -

g r a m s . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l S y m p o s i u m o n C i r c u i t s a n d S y s t e m s ,

v o l u m e 1 , p a g e 1 3 3 8 2 1 1 ; 1 3 6 , I S C A S - 9 2 , S a n D i e g o , C A , M a y 1 9 9 2 .

[ 3 3 0 ] I . W . S e l e s n i c k a n d C . S . B u r r u s . A u t o m a t i n g t h e d e s i g n o f p r i m e l e n g t h t p r o -

g r a m s . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l S y m p o s i u m o n C i r c u i t s a n d S y s t e m s ,

v o l u m e 1 , p a g e 1 3 3 8 2 1 1 ; 1 3 6 , I S C A S - 9 2 , S a n D i e g o , C A , M a y 1 9 9 2 .

[ 3 3 1 ] I . W . S e l e s n i c k a n d C . S . B u r r u s . M u l t i d i m e n s i o n a l m a p p i n g t e c h n i q u e s f o r c o n v o -

l u t i o n . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n S i g n a l P r o c e s s i n g ,

v o l u m e I I I , p a g e s I I I 2 8 8 8 2 1 1 ; 2 9 1 , I E E E I C A S S P - 9 3 , M i n n e a p o l i s , A p r i l 1 9 9 3 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 241/254

B I B L I O G R A P H Y 2 3 5

[ 3 3 2 ] I . W . S e l e s n i c k a n d C . S . B u r r u s . M u l t i d i m e n s i o n a l m a p p i n g t e c h n i q u e s f o r c o n v o -

l u t i o n . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n S i g n a l P r o c e s s i n g ,

v o l u m e I I I , p a g e s I I I 2 8 8 8 2 1 1 ; 2 9 1 , I E E E I C A S S P - 9 3 , M i n n e a p o l i s , A p r i l 1 9 9 3 .

[ 3 3 3 ] I . W . S e l e s n i c k a n d C . S . B u r r u s . E x t e n d i n g w i n o g r a d ' s s m a l l c o n v o l u t i o n a l g o r i t h m

t o l o n g e r l e n g t h s . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l S y m p o s i u m o n C i r c u i t s

a n d S y s t e m s , v o l u m e 2 , p a g e 2 . 4 4 9 8 2 1 1 ; 4 5 2 , I E E E I S C A S - 9 4 , L o n d o n , J u n e 3 0 1 9 9 4 .

[ 3 3 4 ] I . W . S e l e s n i c k a n d C . S . B u r r u s . E x t e n d i n g w i n o g r a d ' s s m a l l c o n v o l u t i o n a l g o r i t h m

t o l o n g e r l e n g t h s . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l S y m p o s i u m o n C i r c u i t s

a n d S y s t e m s , v o l u m e 2 , p a g e 2 . 4 4 9 8 2 1 1 ; 4 5 2 , I E E E I S C A S - 9 4 , L o n d o n , J u n e 3 0 1 9 9 4 .

[ 3 3 5 ] I v a n W . S e l e s n i c k a n d C . S i d n e y B u r r u s . A u t o m a t i c g e n e r a t i o n o f p r i m e l e n g t h t

p r o g r a m s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 4 ( 1 ) : 1 4 8 2 1 1 ; 2 4 , J a n u a r y 1 9 9 6 .

[ 3 3 6 ] I v a n W . S e l e s n i c k a n d C . S i d n e y B u r r u s . A u t o m a t i c g e n e r a t i o n o f p r i m e l e n g t h t

p r o g r a m s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 4 ( 1 ) : 1 4 8 2 1 1 ; 2 4 , J a n u a r y 1 9 9 6 .

[ 3 3 7 ] R . G . S h e n o y , D a n i e l B u r n s i d e , a n d T . W . P a r k s . L i n e a r p e r i o d i c s y s t e m s a n d m u l t i r a t e

l t e r d e s i g n . T e c h n i c a l r e p o r t G E O - 0 0 2 - 9 2 - 1 6 b , S c h l u m b e r g e r 8 2 1 1 ; D o l l R e s e a r c h N o t e ,

S e p t e m b e r 1 9 9 2 .

[ 3 3 8 ] R . G . S h e n o y , T . W . P a r k s , a n d D a n i e l B u r n s i d e . F o u r i e r a n a l y s i s o f l i n e a r p e r i o d i c

s y s t e m s a n d m u l t i r a t e l t e r d e s i g n . I n P a p e r S u m m a r i e s f o r t h e 1 9 9 2 D S P W o r k s h o p ,

p a g e 2 . 4 . 1 , S t a r v e d R o c k L o d g e , U t i c a , I l l . , 1 9 9 2 .

[ 3 3 9 ] O . V . S h e n t o v , S . K . M i t r a , U . H e u t e , a n d A . N . H o s s e n . S u b b a n d d f t 8 2 1 1 ; p a r t i :

D e n i t i o n , i n t e r p r e t a t i o n a n d e x t e n s i o n s . S i g n a l P r o c e s s i n g , 4 1 : 2 6 1 8 2 1 1 ; 2 7 8 , 1 9 9 5 .

[ 3 4 0 ] R . C . S i n g l e t o n . A n a l g o r i t h m f o r c o m p u t i n g t h e m i x e d r a d i x f a s t f o u r i e r t r a n s f o r m .

I E E E T r a n s a c t i o n s o n A u d i o a n d E l e c t r o a c o u s t i c s , A U - 1 7 : 9 3 1 0 3 , J u n e 1 9 6 9 .

[ 3 4 1 ] R i c h a r d C . S i n g l e t o n . O n c o m p u t i n g t h e f a s t f o u r i e r t r a n s f o r m . C o m m . A C M ,

1 0 : 6 4 7 8 2 1 1 ; 6 5 4 , 1 9 6 7 .

[ 3 4 2 ] G . A . S i t t o n . T h e q f t a l g o r i t h m , 1 9 8 5 .

[ 3 4 3 ] G . A . S i t t o n . T h e q f t a l g o r i t h m , 1 9 8 5 .

[ 3 4 4 ] G . A . S i t t o n . T h e q d f t : A n e c i e n t m e t h o d f o r s h o r t p r i m e l e n g t h d f t s , J u n e 1 9 9 1 .

[ 3 4 5 ] W i n t h r o p W . S m i t h a n d J o a n n e M . S m i t h . H a n d b o o k o f R e a l - T i m e F a s t F o u r i e r

T r a n s f o r m s . I E E E P r e s s , N e w Y o r k , 1 9 9 5 .

[ 3 4 6 ] H . V . S o r e n s e n a n d C . S . B u r r u s . E c i e n t c o m p u t a t i o n o f t h e s h o r t - t i m e t . I n

P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , p a g e s 1 8 9 4 1 8 9 7 , N e w Y o r k , A p r i l 1 9 8 8 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 242/254

2 3 6

B I B L I O G R A P H Y

[ 3 4 7 ] H . V . S o r e n s e n a n d C . S . B u r r u s . E c i e n t c o m p u t a t i o n o f t h e d f t w i t h o n l y a s u b s e t o f

i n p u t o r o u t p u t p o i n t s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 1 ( 3 ) : 1 1 8 4 8 2 1 1 ; 1 2 0 0 ,

M a r c h 1 9 9 3 .

[ 3 4 8 ] H . V . S o r e n s e n a n d C . S . B u r r u s . F a s t d f t a n d c o n v o l u t i o n a l g o r i t h m s . I n S a n j i t K .

M i t r a a n d J a m e s F . K a i s e r , e d i t o r s , H a n d b o o k f o r D i g i t a l S i g n a l P r o c e s s i n g , c h a p t e r 8 .

J o h n W i l e y & S o n s , N e w Y o r k , 1 9 9 3 .

[ 3 4 9 ] H . V . S o r e n s e n , C . S . B u r r u s , a n d D . L . J o n e s . A n e w e c i e n t a l g o r i t h m f o r c o m p u t i n g

a f e w d f t p o i n t s . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l S y m p o s i u m o n C i r c u i t s a n d

S y s t e m s , p a g e 1 9 1 5 8 2 1 1 ; 1 9 1 8 , E s p o o , F i n l a n d , J u n e 1 9 8 8 .

[ 3 5 0 ] H . V . S o r e n s e n , M . T . H e i d e m a n , a n d C . S . B u r r u s . O n c o m p u t i n g t h e s p l i t 8 2 1 1 ; r a d i x

t . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 4 ( 1 ) : 1 5 2 8 2 1 1 ; 1 5 6 ,

F e b r u a r y 1 9 8 6 .

[ 3 5 1 ] H . V . S o r e n s e n , M . T . H e i d e m a n , a n d C . S . B u r r u s . O n c o m p u t i n g t h e s p l i t 8 2 1 1 ; r a d i x

t . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , 3 4 ( 1 ) : 1 5 2 8 2 1 1 ; 1 5 6 ,

F e b r u a r y 1 9 8 6 .

[ 3 5 2 ] H . V . S o r e n s e n , D . L . J o n e s , C . S . B u r r u s , a n d M . T . H e i d e m a n . O n c o m p u t i n g

t h e d i s c r e t e h a r t l e y t r a n s f o r m . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , 3 3 ( 5 ) : 1 2 3 1 8 2 1 1 ; 1 2 3 8 , O c t o b e r 1 9 8 5 .

[ 3 5 3 ] H . V . S o r e n s e n , D . L . J o n e s , C . S . B u r r u s , a n d M . T . H e i d e m a n . O n c o m p u t i n g

t h e d i s c r e t e h a r t l e y t r a n s f o r m . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , 3 3 ( 5 ) : 1 2 3 1 8 2 1 1 ; 1 2 3 8 , O c t o b e r 1 9 8 5 .

[ 3 5 4 ] H . V . S o r e n s e n , D . L . J o n e s , C . S . B u r r u s , a n d M . T . H e i d e m a n . O n c o m p u t i n g

t h e d i s c r e t e h a r t l e y t r a n s f o r m . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , 3 3 ( 5 ) : 1 2 3 1 8 2 1 1 ; 1 2 3 8 , O c t o b e r 1 9 8 5 .

[ 3 5 5 ] H . V . S o r e n s e n , D . L . J o n e s , C . S . B u r r u s , a n d M . T . H e i d e m a n . O n c o m p u t i n g

t h e d i s c r e t e h a r t l e y t r a n s f o r m . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , 3 3 ( 5 ) : 1 2 3 1 8 2 1 1 ; 1 2 3 8 , O c t o b e r 1 9 8 5 .

[ 3 5 6 ] H . V . S o r e n s e n , D . L . J o n e s , M . T . H e i d e m a n , a n d C . S . B u r r u s . R e a l v a l u e d f a s t

f o u r i e r t r a n s f o r m a l g o r i t h m s . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , 3 5 ( 6 ) : 8 4 9 8 2 1 1 ; 8 6 3 , J u n e 1 9 8 7 .

[ 3 5 7 ] H . V . S o r e n s e n , D . L . J o n e s , M . T . H e i d e m a n , a n d C . S . B u r r u s . R e a l v a l u e d f a s t

f o u r i e r t r a n s f o r m a l g o r i t h m s . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , 3 5 ( 6 ) : 8 4 9 8 2 1 1 ; 8 6 3 , J u n e 1 9 8 7 .

[ 3 5 8 ] H . V . S o r e n s e n , D . L . J o n e s , M . T . H e i d e m a n , a n d C . S . B u r r u s . R e a l v a l u e d f a s t

f o u r i e r t r a n s f o r m a l g o r i t h m s . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , 3 5 ( 6 ) : 8 4 9 8 2 1 1 ; 8 6 3 , J u n e 1 9 8 7 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 243/254

B I B L I O G R A P H Y 2 3 7

[ 3 5 9 ] H . V . S o r e n s e n , D . L . J o n e s , M . T . H e i d e m a n , a n d C . S . B u r r u s . R e a l v a l u e d f a s t

f o u r i e r t r a n s f o r m a l g o r i t h m s . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , 3 5 ( 6 ) : 8 4 9 8 2 1 1 ; 8 6 3 , J u n e 1 9 8 7 .

[ 3 6 0 ] H . V . S o r e n s e n , D . L . J o n e s , M . T . H e i d e m a n , a n d C . S . B u r r u s . R e a l v a l u e d f a s t

f o u r i e r t r a n s f o r m a l g o r i t h m s . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h , a n d S i g n a l

P r o c e s s i n g , 3 5 ( 6 ) : 8 4 9 8 2 1 1 ; 8 6 3 , J u n e 1 9 8 7 .

[ 3 6 1 ] H . V . S o r e n s e n , C . A . K a t z , a n d C . S . B u r r u s . E c i e n t t a l g o r i t h m s f o r d s p p r o c e s s o r s

u s i n g t e n s o r p r o d u c t d e c o m p o s i t i o n . I n P r o c e e d i n g s o f t h e I E E E I n t e r n a t i o n a l C o n f e r -

e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e 1 5 0 7 8 2 1 1 ; 1 5 1 0 , A l b u q u e r q u e ,

N M , A p r i l 1 9 9 0 .

[ 3 6 2 ] H e n r i k V . S o r e n s e n , C . S i d n e y B u r r u s , a n d M i c h a e l T . H e i d e m a n . F a s t F o u r i e r T r a n s -

f o r m D a t a b a s e . P W S P u b l i s h i n g , B o s t o n , 1 9 9 5 .

[ 3 6 3 ] H e n r i k V . S o r e n s e n , C . S i d n e y B u r r u s , a n d M i c h a e l T . H e i d e m a n . F a s t F o u r i e r T r a n s -

f o r m D a t a b a s e . P W S P u b l i s h i n g , B o s t o n , 1 9 9 5 .

[ 3 6 4 ] R . S t a s i 3 2 4 ; s k i . P r i m e f a c t o r d f t a l g o r i t h m s f o r n e w s m a l l - n d f t m o d u l e s . I E E P r o -

c e e d i n g s , P a r t G , 1 3 4 ( 3 ) : 1 1 7 8 2 1 1 ; 1 2 6 , 1 9 8 7 .

[ 3 6 5 ] R . S t a s i 3 2 4 ; s k i . E x t e n d i n g s i z e s o f e e c t i v e c o n v o l u t i o n a l g o r i t h m s . E l e c t r o n i c s L e t t e r s ,

2 6 ( 1 9 ) : 1 6 0 2 8 2 1 1 ; 1 6 0 4 , 1 9 9 0 .

[ 3 6 6 ] R y s z a r d S t a s i 3 2 4 ; s k i . T h e t e c h n i q u e s o f t h e g e n e r a l i z e d f a s t f o u r i e r t r a n s f o r m a l g o -

r i t h m . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 3 9 ( 5 ) : 1 0 5 8 8 2 1 1 ; 1 0 6 9 , M a y 1 9 9 1 .

[ 3 6 7 ] T . G . S t o c k h a m . H i g h s p e e d c o n v o l u t i o n a n d c o r r e l a t i o n . P r o c . A F I P S S p r i n g J o i n t

C o m p u t e r C o n f e r e n c e , 2 8 : 2 2 9 8 2 1 1 ; 2 3 3 , 1 9 6 6 .

[ 3 6 8 ] T . G . S t o c k h a m . H i g h s p e e d c o n v o l u t i o n a n d c o r r e l a t i o n . I n A F I P S C o n f . P r o c . ,

v o l u m e 2 8 , p a g e 2 2 9 8 2 1 1 ; 2 3 3 . 1 9 6 6 S p r i n g J o i n t C o m p u t e r C o n f e r e n c e , 1 9 6 6 .

[ 3 6 9 ] R . S t o r n . O n t h e b r u u n a l g o r i t h m a n d i t s i n v e r s e . F r e q u e n z , 4 6 : 1 1 0 8 2 1 1 ; 1 1 6 , 1 9 9 2 . a

G e r m a n j o u r n a l .

[ 3 7 0 ] D . S u n d a r a r a j a n , M . O . A h a m a d , a n d M . N . S . S w a m y . A f a s t t b i t - r e v e r s a l a l g o r i t h m .

I E E E T r a n s a c t i o n s o n C i r c u i t s a n d S y s t e m s , I I , 4 1 ( 1 0 ) : 7 0 1 8 2 1 1 ; 7 0 3 , O c t o b e r 1 9 9 4 .

[ 3 7 1 ] D . S u n d a r a r a j a n , M . O . A h m a d , a n d M . N . S . S w a m y . F a s t c o m p u t a t i o n s o f t h e

d i s c r e t e f o u r i e r t r a n s f o r m o f r e a l d a t a . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g ,

4 5 ( 8 ) : 2 0 1 0 8 2 1 1 ; 2 0 2 2 , A u g u s t 1 9 9 7 .

[ 3 7 2 ] P . N . S w a r z t r a u b e r . V e c t o r i z i n g t h e t s . P a r a l l e l C o m p u t a t i o n s , p a g e 5 1 8 2 1 1 ; 8 3 , 1 9 8 2 .

G . R o d r i g u e e d .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 244/254

2 3 8

B I B L I O G R A P H Y

[ 3 7 3 ] M a n f r e d T a s c h e a n d H a n s m a r t i n Z e u n e r . H a n d b o o k o f A n a l y t i c - C o m p u t a t i o n a l M e t h -

o d s i n A p p l i e d M a t h e m a t i c s , c h a p t e r 8 , p a g e 3 5 7 8 2 1 1 ; 4 0 6 . C R C P r e s s , B o c a R a t o n ,

F L , 2 0 0 0 .

[ 3 7 4 ] M a n f r e d T a s c h e a n d H a n s m a r t i n Z e u n e r . I m p r o v e d r o u n d o e r r o r a n a l y s i s f o r p r e c o m -

p u t e d t w i d d l e f a c t o r s . J . C o m p u t . A n a l . A p p l . , 4 ( 1 ) : 1 8 2 1 1 ; 1 8 , 2 0 0 2 .

[ 3 7 5 ] C . T e m p e r t o n . S e l f - s o r t i n g i n - p l a c e f a s t f o u r i e r t r a n s f o r m s . S I A M J . S c i e n t i c a n d

S t a t i s t i c a l C o m p u t i n g , 1 2 ( 4 ) : 8 0 8 8 2 1 1 ; 8 2 3 , 1 9 9 1 .

[ 3 7 6 ] C l i v e T e m p e r t o n . A n e w s e t o f m i n i m u m - a d d s m a l l - n r o t a t e d d f t m o d u l e s . J o u r n a l o f

C o m p u t a t i o n a l P h y s i c s , 7 5 : 1 9 0 8 2 1 1 ; 1 9 8 , 1 9 8 8 .

[ 3 7 7 ] C l i v e T e m p e r t o n . A s e l f - s o r t i n g i n - p l a c e p r i m e f a c t o r r e a l / h a l f - c o m p l e x t a l g o r i t h m .

J o u r n a l o f C o m p u t a t i o n a l P h y s i c s , 7 5 : 1 9 9 8 2 1 1 ; 2 1 6 , 1 9 8 8 .

[ 3 7 8 ] C l i v e T e m p e r t o n . N e s t i n g s t r a t e g i e s f o r p r i m e f a c t o r t a l g o r i t h m s . J o u r n a l o f C o m -

p u t a t i o n a l P h y s i c s , 8 2 ( 2 ) : 2 4 7 8 2 1 1 ; 2 6 8 , J u n e 1 9 8 9 .

[ 3 7 9 ] C l i v e T e m p e r t o n . S e l f - s o r t i n g i n - p l a c e f a s t f o u r i e r t r a n s f o r m s . S I A M J o u r n a l o f S c i .

S t a t i s t . C o m p u t . , 1 2 ( 4 ) : 8 0 8 8 2 1 1 ; 8 2 3 , 1 9 9 1 .

[ 3 8 0 ] C l i v e T e m p e r t o n . A g e n e r a l i z e d p r i m e f a c t o r t a l g o r i t h m f o r a n y . S I A M J o u r n a l o f

S c i e n t i c a n d S t a t i s t i c a l C o m p u t i n g , 1 3 : 6 7 6 8 2 1 1 ; 6 8 6 , M a y 1 9 9 2 .

[ 3 8 1 ] R . T o l i m i e r i , M . A n , a n d C . L u . A l g o r i t h m s f o r D i s c r e t e F o u r i e r T r a n s f o r m s a n d

C o n v o l u t i o n . S p r i n g e r , 2 n d e d i t i o n , 1 9 9 7 .

[ 3 8 2 ] R i c h a r d T o l i m i e r i , M y o u n g A n , a n d C h a o L u . A l g o r i t h m s f o r D i s c r e t e F o u r i e r T r a n s -

f o r m a n d C o n v o l u t i o n . S p r i n g e r - V e r l a g , N e w Y o r k , s e c o n d e d i t i o n , 1 9 8 9 , 1 9 9 7 .

[ 3 8 3 ] R i c h a r d T o l i m i e r i , M y o u n g A n , a n d C h a o L u . A l g o r i t h m s f o r D i s c r e t e F o u r i e r T r a n s -

f o r m a n d C o n v o l u t i o n . S p r i n g e r - V e r l a g , N e w Y o r k , s e c o n d e d i t i o n , 1 9 8 9 , 1 9 9 7 .

[ 3 8 4 ] R i c h a r d T o l i m i e r i , M y o u n g A n , a n d C h a o L u . M a t h e m a t i c s o f M u l t i d i m e n s i o n a l

F o u r i e r T r a n s f o r m A l g o r i t h m s . S p r i n g e r - V e r l a g , N e w Y o r k , s e c o n d e d i t i o n , 1 9 9 3 , 1 9 9 7 .

[ 3 8 5 ] R i c h a r d T o l i m i e r i , M y o u n g A n , a n d C h a o L u . M a t h e m a t i c s o f M u l t i d i m e n s i o n a l

F o u r i e r T r a n s f o r m A l g o r i t h m s . S p r i n g e r - V e r l a g , N e w Y o r k , s e c o n d e d i t i o n , 1 9 9 3 , 1 9 9 7 .

[ 3 8 6 ] P . R . U n i y a l . T r a n s f o r m i n g r e a l - v a l u e d s e q u e n c e s : F a s t f o u r i e r v e r s u s f a s t h a r t l e y

t r a n s f o r m a l g o r i t h m s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g , 4 2 ( 1 1 ) : 3 2 4 9 8 2 1 1 ; 3 2 5 4 ,

N o v e m b e r 1 9 9 4 .

[ 3 8 7 ] P . P . V a i d y a n a t h a n . M u l t i r a t e S y s t e m s a n d F i l t e r B a n k s . P r e n t i c e - H a l l , E n g l e w o o d

C l i s , N J , 1 9 9 2 .

[ 3 8 8 ] C . V a n L o a n . C o m p u t a t i o n a l F r a m e w o r k o f t h e F a s t F o u r i e r T r a n s f o r m . S i a m , 1 9 9 2 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 245/254

B I B L I O G R A P H Y 2 3 9

[ 3 8 9 ] C h a r l e s v a n L o a n . C o m p u t a t i o n a l F r a m e w o r k s f o r t h e F a s t F o u r i e r T r a n s f o r m . S I A M ,

P h i l a d e l p h i a , 1 9 9 2 .

[ 3 9 0 ] C h a r l e s V a n L o a n . M a t r i x F r a m e w o r k s f o r t h e F a s t F o u r i e r T r a n s f o r m . S I A M ,

P h i l a d e l p h i a , P A , 1 9 9 2 .

[ 3 9 1 ] M . V e t t e r l i a n d H . J . N u s s b a u m e r . S i m p l e t a n d d c t a l g o r i t h m s w i t h r e d u c e d n u m b e r

o f o p e r a t i o n s . S i g n a l P r o c e s s i n g , 6 ( 4 ) : 2 6 7 2 7 8 , 1 9 8 4 .

[ 3 9 2 ] M a r t i n V e t t e r l i a n d P . D u h a m e l . S p l i t - r a d i x a l g o r i t h m s f o r l e n g t h - d f t ' s . I E E E

T r a n s . o n A S S P , 3 7 ( 1 ) : 5 7 8 2 1 1 ; 6 4 , J a n u a r y 1 9 8 9 . A l s o , I C A S S P - 8 8 P r o c e e d i n g s ,

p p . 1 4 1 5 8 2 1 1 ; 1 4 1 8 , A p r i l 1 9 8 8 .

[ 3 9 3 ] M a r t i n V e t t e r l i a n d H . J . N u s s b a u m e r . S i m p l e t a n d d c t a l g o r i t h m s w i t h r e d u c e d

n u m b e r o f o p e r a t i o n s . S i g n a l P r o c e s s i n g , 6 ( 4 ) : 2 6 7 8 2 1 1 ; 2 7 8 , A u g u s t 1 9 8 4 .

[ 3 9 4 ] M a r t i n V e t t e r l i a n d H . J . N u s s b a u m e r . S i m p l e t a n d d c t a l g o r i t h m s w i t h r e d u c e d

n u m b e r o f o p e r a t i o n s . S i g n a l P r o c e s s i n g , 6 ( 4 ) : 2 6 7 8 2 1 1 ; 2 7 8 , A u g u s t 1 9 8 4 .

[ 3 9 5 ] M a r t i n V e t t e r l i a n d H . J . N u s s b a u m e r . S i m p l e t a n d d c t a l g o r i t h m s w i t h r e d u c e d

n u m b e r o f o p e r a t i o n s . S i g n a l P r o c e s s i n g , 6 ( 4 ) : 2 6 7 8 2 1 1 ; 2 7 8 , A u g u s t 1 9 8 4 .

[ 3 9 6 ] H . B . V o e l c k e r a n d E . E . H a r t q u i s t . D i g i t a l l t e r i n g v i a b l o c k r e c u r s i o n . I E E E T r a n s -

a c t i o n s o n A u d i o a n d E l e c t r o a c o u s t i c s , A U - 1 8 : 1 6 9 8 2 1 1 ; 1 7 6 , J u n e 1 9 7 0 .

[ 3 9 7 ] Y . V o r o n e n k o a n d M . P s c h e l . A l g e b r a i c s i g n a l p r o c e s s i n g t h e o r y : C o o l e y - t u k e y t y p e

a l g o r i t h m s f o r r e a l d f t s . I E E E T r a n s a c t i o n s o n S i g n a l P r o c e s s i n g . t o a p p e a r .

[ 3 9 8 ] Y . V o r o n e n k o a n d M . P s c h e l . A l g e b r a i c d e r i v a t i o n o f g e n e r a l r a d i x c o o l e y - t u k e y a l -

g o r i t h m s f o r t h e r e a l d i s c r e t e f o u r i e r t r a n s f o r m . I n P r o c . I n t e r n a t i o n a l C o n f e r e n c e o n

A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g ( I C A S S P ) , v o l u m e 3 , p a g e s 8 7 6 8 7 9 , 2 0 0 6 .

[ 3 9 9 ] A . R . V [U+FFFD] o n y i - K [U+FFFD] . A r e c u r s i v e f a s t f o u r i e r t r a n s f o r m a t i o n a l g o r i t h m .

I E E E T r a n s a c t i o n s o n C i r c u i t s a n d S y s t e m s , I I , 4 2 ( 9 ) : 6 1 4 8 2 1 1 ; 6 1 6 , S e p t e m b e r 1 9 9 5 .

[ 4 0 0 ] J . S . W a l k e r . A n e w b i t r e v e r s a l a l g o r i t h m . I E E E T r a n s a c t i o n s o n A c o u s t i c s , S p e e c h ,

a n d S i g n a l P r o c e s s i n g , 3 8 ( 8 ) : 1 4 7 2 8 2 1 1 ; 1 4 7 3 , A u g u s t 1 9 9 0 .

[ 4 0 1 ] F a n g M i n g W a n g a n d P . Y i p . F a s t p r i m e f a c t o r d e c o m p o s i t i o n a l g o r i t h m s f o r a f a m -

i l y o f d i s c r e t e t r i g o n o m e t r i c t r a n s f o r m s . C i r c u i t s , S y s t e m s , a n d S i g n a l P r o c e s s i n g ,

8 ( 4 ) : 4 0 1 8 2 1 1 ; 4 1 9 , 1 9 8 9 .

[ 4 0 2 ] S . A . W h i t e . A p p l i c a t i o n s o f d i s t r i b u t e d a r i t h m e t i c t o d i g i t a l s i g n a l p r o c e s s i n g . I E E E

A S S P M a g a z i n e , 6 ( 3 ) : 4 8 2 1 1 ; 1 9 , J u l y 1 9 8 9 .

[ 4 0 3 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . P r o c . N a t i o n a l A c a d e m y

o f S c i e n c e s , U S A , 7 3 : 1 0 0 6 8 2 1 1 ; 1 0 0 6 , A p r i l 1 9 7 6 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 246/254

2 4 0

B I B L I O G R A P H Y

[ 4 0 4 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . P r o c . N a t i o n a l A c a d e m y

o f S c i e n c e s , U S A , 7 3 : 1 0 0 6 8 2 1 1 ; 1 0 0 6 , A p r i l 1 9 7 6 .

[ 4 0 5 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . P r o c . N a t i o n a l A c a d e m y

o f S c i e n c e s , U S A , 7 3 : 1 0 0 6 8 2 1 1 ; 1 0 0 6 , A p r i l 1 9 7 6 .

[ 4 0 6 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . P r o c . N a t i o n a l A c a d e m y

o f S c i e n c e s , U S A , 7 3 : 1 0 0 6 8 2 1 1 ; 1 0 0 6 , A p r i l 1 9 7 6 .

[ 4 0 7 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . P r o c . N a t i o n a l A c a d e m y

o f S c i e n c e s , U S A , 7 3 : 1 0 0 6 8 2 1 1 ; 1 0 0 6 , A p r i l 1 9 7 6 .

[ 4 0 8 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . M a t h e m a t i c s o f C o m p u t a -

t i o n , 3 2 : 1 7 5 8 2 1 1 ; 1 9 9 , J a n u a r y 1 9 7 8 .

[ 4 0 9 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . M a t h e m a t i c s o f C o m p u t a -

t i o n , 3 2 : 1 7 5 8 2 1 1 ; 1 9 9 , 1 9 7 8 .

[ 4 1 0 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . M a t h e m a t i c s o f C o m p u t a -

t i o n , 3 2 : 1 7 5 8 2 1 1 ; 1 9 9 , J a n u a r y 1 9 7 8 .

[ 4 1 1 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . M a t h . C o m p u t a t i o n ,

3 2 ( 1 ) : 1 7 5 8 2 1 1 ; 1 9 9 , J a n u a r y 1 9 7 8 .

[ 4 1 2 ] S . W i n o g r a d . O n c o m p u t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . M a t h e m a t i c s o f C o m p u t a -

t i o n , 3 2 : 1 7 5 8 2 1 1 ; 1 9 9 , J a n u a r y 1 9 7 8 .

[ 4 1 3 ] S . W i n o g r a d . O n t h e m u l t i p l i c a t i v e c o m p l e x i t y o f t h e d i s c r e t e f o u r i e r t r a n s f o r m . A d -

v a n c e s i n M a t h e m a t i c s , 3 2 ( 2 ) : 8 3 8 2 1 1 ; 1 1 7 , M a y 1 9 7 9 . a l s o i n .

[ 4 1 4 ] S . W i n o g r a d . O n t h e m u l t i p l i c a t i v e c o m p l e x i t y o f t h e d i s c r e t e f o u r i e r t r a n s f o r m . A d -

v a n c e s i n M a t h e m a t i c s , 3 2 : 8 3 8 2 1 1 ; 1 1 7 , 1 9 7 9 .

[ 4 1 5 ] S . W i n o g r a d . O n t h e m u l t i p l i c a t i v e c o m p l e x i t y o f t h e d i s c r e t e f o u r i e r t r a n s f o r m . A d -

v a n c e s i n M a t h e m a t i c s , 3 2 ( 2 ) : 8 3 8 2 1 1 ; 1 1 7 , M a y 1 9 7 9 . a l s o i n .

[ 4 1 6 ] S . W i n o g r a d . A r i t h m e t i c C o m p l e x i t y o f C o m p u t a t i o n . S I A M C B M S - N S F S e r i e s , N o .

3 3 . S I A M , P h i l a d e l p h i a , 1 9 8 0 .

[ 4 1 7 ] S . W i n o g r a d . A r i t h m e t i c C o m p l e x i t y o f C o m p u t a t i o n . S i a m , 1 9 8 0 .

[ 4 1 8 ] S . W i n o g r a d . A r i t h m e t i c C o m p l e x i t y o f C o m p u t a t i o n . S I A M C B M S - N S F S e r i e s , N o . 3 3 .

S I A M , P h i l a d e l p h i a , 1 9 8 0 .

[ 4 1 9 ] S . W i n o g r a d . S i g n a l p r o c e s s i n g a n d c o m p l e x i t y o f c o m p u t a t i o n . I n P r o c e e d i n g s o f

t h e I E E E I n t e r n a t i o n a l C o n f e r e n c e o n A c o u s t i c s , S p e e c h , a n d S i g n a l P r o c e s s i n g , p a g e

1 3 8 1 8 2 1 1 ; 1 3 8 4 , I C A S S P - 8 0 , D e n v e r , A p r i l 1 9 8 0 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 247/254

B I B L I O G R A P H Y 2 4 1

[ 4 2 0 ] J i a n x i n X i o n g , D a v i d P a d u a , a n d J e r e m y J o h n s o n . S p l : A l a n g u a g e a n d c o m p i l e r f o r

d s p a l g o r i t h m s . I n P r o c . A C M S I G P L A N ' 0 1 C o n f . P r o g r a m m i n g L a n g u a g e D e s i g n a n d

I m p l e m e n t a t i o n ( P L D I ) , p a g e s 2 9 8 3 0 8 , 2 0 0 1 .

[ 4 2 1 ] R . Y a v n e . A n e c o n o m i c a l m e t h o d f o r c a l c u l a t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . I n F a l l

J o i n t C o m p u t e r C o n f e r e n c e , A F I P S C o n f e r e n c e P r o c e e d i n g s , v o l u m e 3 3 p a r t 1 , p a g e

1 1 5 8 2 1 1 ; 1 2 5 , 1 9 6 8 .

[ 4 2 2 ] R . Y a v n e . A n e c o n o m i c a l m e t h o d f o r c a l c u l a t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . I n

P r o c . A F I P S F a l l J o i n t C o m p u t e r C o n f . , v o l u m e 3 3 , p a g e s 1 1 5 1 2 5 , 1 9 6 8 .

[ 4 2 3 ] R . Y a v n e . A n e c o n o m i c a l m e t h o d f o r c a l c u l a t i n g t h e d i s c r e t e f o u r i e r t r a n s f o r m . I n F a l l

J o i n t C o m p u t e r C o n f e r e n c e , A F I P S C o n f e r e n c e P r o c e e d i n g s , v o l u m e 3 3 p a r t 1 , p a g e

1 1 5 8 2 1 1 ; 1 2 5 , 1 9 6 8 .

[ 4 2 4 ] A n g e l o A . Y o n g . A b e t t e r t b i t - r e v e r s a l a l g o r i t h m w i t h o u t t a b l e s . I E E E T r a n s a c t i o n s

o n S i g n a l P r o c e s s i n g , 3 9 ( 1 0 ) : 2 3 6 5 8 2 1 1 ; 2 3 6 7 , O c t o b e r 1 9 9 1 .

[ 4 2 5 ] L . A . Z a d e h . F r e q u e n c y a n a l y s i s o f v a r i a b l e n e t w o r k s . P r o c e e d i n g o f t h e I R E ,

3 8 ( 3 ) : 2 9 1 8 2 1 1 ; 2 9 9 , 1 9 5 0 .

[ 4 2 6 ] Y . Z a l c s t e i n . A n o t e o n f a s t c o n v o l u t i o n . I E E E T r a n s a c t i o n s o n C o m p u t e r s , C - 2 0 : 6 6 5 ,

J u n e 1 9 7 1 .

[ 4 2 7 ] J a n Z e m a n a n d A l l e n G . L i n d g r e n . F a s t d i g i t a l l t e r s w i t h l o w r o u n d 8 2 1 1 ; o n o i s e .

I E E E T r a n s a c t i o n s o n C i r c u i t a n d S y s t e m s , C A S - 2 8 : 7 1 6 8 2 1 1 ; 7 2 3 , J u l y 1 9 8 1 .

[ 4 2 8 ] J a n Z e m a n a n d A l l e n G . L i n d g r e n . F a s t s t a t e 8 2 1 1 ; s p a c e d e c i m a t o r w i t h v e r y l o w

r o u n d 8 2 1 1 ; o n o i s e . S i g n a l P r o c e s s i n g , 3 ( 4 ) : 3 7 7 8 2 1 1 ; 3 8 8 , O c t o b e r 1 9 8 1 .

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 248/254

2 4 2

I N D E X

I n d e x o f K e y w o r d s a n d T e r m s

K e y w o r d s a r e l i s t e d b y t h e s e c t i o n w i t h t h a t k e y w o r d ( p a g e n u m b e r s a r e i n p a r e n -

t h e s e s ) . K e y w o r d s d o n o t n e c e s s a r i l y a p p e a r i n t h e t e x t o f t h e p a g e . T h e y a r e m e r e l y

a s s o c i a t e d w i t h t h a t s e c t i o n . E x . a p p l e s , 1 . 1 ( 1 ) T e r m s a r e r e f e r e n c e d b y t h e p a g e

t h e y a p p e a r o n . E x . a p p l e s , 1

B b i t - r e v e r s a l , 1 1 2

b l o c k i n g , 1 1 8

b u t t e r y , 1 1 2

C c a c h e , 1 1 ( 1 0 9 )

c a c h e a w a r e , 1 1 8

c a c h e c o m p l e x i t y , 1 1 8

c a c h e h i t , 1 1 7

c a c h e l i n e , 1 1 7

c a c h e m i s s , 1 1 7

c a c h e - o b l i v i o u s , 1 1 9

c a c h e - o b l i v i o u s a l g o r i t h m , 1 1 ( 1 0 9 )

c a s c a d e s u m m a t i o n , 1 3 3

c o d e g e n e r a t i o n , 1 1 ( 1 0 9 )

c o d e l e t s , 1 3 0

C o o l e y T u k e y , 1 6 ( 1 5 9 ) , 1 7 ( 1 6 5 )

c r e a t i o n , 1 3 0

D d a g , 1 3 0

d e c i m a t i o n i n f r e q u e n c y , 1 1 2

d e c i m a t i o n i n t i m e , 1 1 2 , 1 2 6

D F T p r o b l e m , 1 2 4

D I F , 1 1 2

D I T , 1 1 2 , 1 2 6

d y n a m i c p r o g r a m m i n g , 1 2 9

E e s t i m a t e m o d e , 1 2 9

F F a s t e s t F o u r i e r T r a n s f o r m i n t h e W e s t ,

1 1 ( 1 0 9 )

F F T , 3 ( 7 ) , 1 1 ( 1 0 9 ) , 1 6 ( 1 5 9 ) ,

1 7 ( 1 6 5 ) , 1 8 ( 1 6 7 )

F F T p r o g r a m s , 1 8 ( 1 6 7 )

F F T W , 1 1 ( 1 0 9 )

F l o w g r a p h s , 1 6 ( 1 5 9 )

F O R T R A N , 1 8 ( 1 6 7 )

f o u r - s t e p , 1 1 2

G g e n t , 1 3 0

I I / O d i m e n s i o n , 1 2 4

I / O t e n s o r , 1 2 4

i d e a l c a c h e , 1 1 7

i n - p l a c e , 1 2 3

i n d e x m a p , 3 ( 7 )

i n p u t p o i n t e r , 1 2 3

i n p u t s t r i d e , 1 2 3 , 1 2 4

L l a r g e r a d i c e s , 1 1 8

l e n g t h , 1 2 4

l i n e a r n e t w o r k , 1 3 1

M m i x e d r a d i x , 1 1 2

N n e t w o r k t r a n s p o s i t i o n , 1 3 1

O o p e r a t i o n c o u n t , 1 7 ( 1 6 5 )

o p t i m a l , 1 1 8

o p t i m a l c a c h e - o b l i v i o u s , 1 1 9

o u t p u t p o i n t e r , 1 2 3

o u t p u t s t r i d e , 1 2 3 , 1 2 4

P P F A , 3 ( 7 ) , 1 8 ( 1 6 7 )

p l a n , 1 2 3

p l a n n e r , 1 2 3

p o i n t e r s , 1 2 4

p r o b l e m s , 1 2 3

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 249/254

I N D E X 2 4 3

R r a d i x , 1 1 2 , 1 2 6

r a n k , 1 2 4

r o w - m a j o r , 1 2 4

S s c h e d u l e , 1 3 1

s c h e d u l i n g , 1 3 1

s e l f - o p t i m i z a t i o n , 1 1 ( 1 0 9 )

s i m p l i c a t i o n , 1 3 1

s i x - s t e p , 1 1 2

s p l i t r a d i x , 1 1 2

s p l i t r a d i x F F T , 1 6 ( 1 5 9 )

T t a l l , 1 1 7

t e m p o r a l l o c a l i t y , 1 1 7

t r a n s p o s e , 1 2 5

t w i d d l e f a c t o r s , 1 1 2

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 250/254

2 4 4

A T T R I B U T I O N S

A t t r i b u t i o n s

C o l l e c t i o n : F a s t F o u r i e r T r a n s f o r m s

E d i t e d b y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 /

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " P r e f a c e : F a s t F o u r i e r T r a n s f o r m s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 4 / 1 . 1 0 /

P a g e s : 1 - 3

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 3 . 0 /

M o d u l e : " I n t r o d u c t i o n : F a s t F o u r i e r T r a n s f o r m s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 5 / 1 . 1 0 /

P a g e s : 5 - 6

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " M u l t i d i m e n s i o n a l I n d e x M a p p i n g "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 6 / 1 . 1 2 /

P a g e s : 7 - 1 9

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 3 . 0 /

M o d u l e : " P o l y n o m i a l D e s c r i p t i o n o f S i g n a l s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 7 / 1 . 8 /

P a g e s : 2 1 - 2 5

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " T h e D F T a s C o n v o l u t i o n o r F i l t e r i n g "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 2 8 / 1 . 9 /

P a g e s : 2 7 - 3 7

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 251/254

A T T R I B U T I O N S 2 4 5

M o d u l e : " F a c t o r i n g t h e S i g n a l P r o c e s s i n g O p e r a t o r s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 0 / 1 . 8 /

P a g e s : 3 9 - 4 1

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " W i n o g r a d ' s S h o r t D F T A l g o r i t h m s "

B y : C . S i d n e y B u r r u s , I v a n S e l e s n i c k

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 3 / 1 . 1 4 /

P a g e s : 4 3 - 6 3

C o p y r i g h t : C . S i d n e y B u r r u s , I v a n S e l e s n i c k

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " D F T a n d F F T : A n A l g e b r a i c V i e w "

B y : M a r k u s P u e s c h e l

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 1 / 1 . 1 4 /

P a g e s : 6 5 - 7 7

C o p y r i g h t : M a r k u s P u e s c h e l

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " T h e C o o l e y - T u k e y F a s t F o u r i e r T r a n s f o r m A l g o r i t h m "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 4 / 1 . 1 3 /

P a g e s : 7 9 - 9 6

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " T h e P r i m e F a c t o r a n d W i n o g r a d F o u r i e r T r a n s f o r m A l g o r i t h m s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 5 / 1 . 9 /

P a g e s : 9 7 - 1 0 8

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " I m p l e m e n t i n g F F T s i n P r a c t i c e "

B y : S t e v e n G . J o h n s o n , M a t t e o F r i g o

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 6 / 1 . 1 5 /

P a g e s : 1 0 9 - 1 3 5

C o p y r i g h t : S t e v e n G . J o h n s o n

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 3 . 0 /

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 252/254

2 4 6

A T T R I B U T I O N S

M o d u l e : " A l g o r i t h m s f o r D a t a w i t h R e s t r i c t i o n s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 8 / 1 . 7 /

P a g e s : 1 3 7 - 1 3 8

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " C o n v o l u t i o n A l g o r i t h m s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 3 9 / 1 . 1 0 /

P a g e s : 1 3 9 - 1 5 2

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " C o m m e n t s : F a s t F o u r i e r T r a n s f o r m s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 4 3 4 / 1 . 8 /

P a g e s : 1 5 3 - 1 5 5

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " C o n c l u s i o n s : F a s t F o u r i e r T r a n s f o r m s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 4 0 / 1 . 7 /

P a g e s : 1 5 7 - 1 5 8

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " A p p e n d i x 1 : F F T F l o w g r a p h s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 5 2 / 1 . 1 1 /

P a g e s : 1 5 9 - 1 6 4

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " A p p e n d i x 2 : O p e r a t i o n C o u n t s f o r G e n e r a l L e n g t h F F T "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 6 3 5 3 / 1 . 8 /

P a g e s : 1 6 5 - 1 6 6

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 253/254

A T T R I B U T I O N S 2 4 7

M o d u l e : " A p p e n d i x 3 : F F T C o m p u t e r P r o g r a m s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 7 3 9 7 / 1 . 5 /

P a g e s : 1 6 7 - 2 0 6

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

M o d u l e : " A p p e n d i x 4 : P r o g r a m s f o r S h o r t F F T s "

B y : C . S i d n e y B u r r u s

U R L : h t t p : / / c n x . o r g / c o n t e n t / m 1 7 6 4 6 / 1 . 4 /

P a g e s : 2 0 7 - 2 0 9

C o p y r i g h t : C . S i d n e y B u r r u s

L i c e n s e : h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / b y / 2 . 0 /

A v a i l a b l e f o r f r e e a t C o n n e x i o n s < h t t p : / / c n x . o r g / c o n t e n t / c o l 1 0 5 5 0 / 1 . 2 1 >

7/16/2019 Fast Fourier Transforms Sidney Burrus

http://slidepdf.com/reader/full/fast-fourier-transforms-sidney-burrus 254/254

F a s t F o u r i e r T r a n s f o r m s

T h i s b o o k u s e s a n i n d e x m a p , a p o l y n o m i a l d e c o m p o s i t i o n , a n o p e r a t o r f a c t o r i z a t i o n , a n d a

c o n v e r s i o n t o a l t e r t o d e v e l o p a v e r y g e n e r a l a n d e c i e n t d e s c r i p t i o n o f f a s t a l g o r i t h m s t o

c a l c u l a t e t h e d i s c r e t e F o u r i e r t r a n s f o r m ( D F T ) . T h e w o r k o f W i n o g r a d i s o u t l i n e d , c h a p t e r s