You are on page 1of 14

March-2001

The Fourier transform

X. Serra

March-2001

Index

Introduction Basic mathematics Continuous Fourier transform Discrete Fourier transform (DFT) Understanding the DFT: Frequency Shifting
and Filtering DFT properties DFT examples
X. Serra 2

March-2001

Recommended readings:

A Digital Signal Processing Primer, Ken Steiglitz.


Addison-Wesley, 1996.

The Computer Music Tutorial, Curtis Roads. MIT Press,


1995.

DSP First: A Multimedia Approach, J. H. McClelland, R. W. Schafer, M. A. Yoder. Prentice Hall, 1998.
X. Serra 3

March-2001

Basic Mathematics

Complex numbers
( x + jy ) where x : real part y : imaginary part j : 1
y

Complex plane
x-axis (real part) y-axis (imaginary part)

X. Serra

(...basic mathematics)

March-2001

Rectangular co-ordinates
ordinate

y1

( x1 , y1 )

*
x1
abscissa

Polar co-ordinates
magnitude : x 2 + y 2 phase : tan 1 ( y x)
itude magn

*
5

phase
X. Serra

(...basic mathematics)

March-2001

number e e = 2.718281... Complex exponential


e ( x + jy )

Sine function
sin(x)
X. Serra 6

(...basic mathematics)

March-2001

Eulers identity
e jx = cos( x) + j sin( x)
e j + e j cos = 2 e j e j sin = 2j

linear magnitude and dB


dB = 20 log( A
X. Serra

A0

)
7

(...basic mathematics)

March-2001

Complex exponential:

x (t ) = Ae j ( 0t + ) = A cos( 0 t + ) + jA sin ( 0 t + )
Real sinewave:

X. Serra

e j ( 0t + ) + e j ( 0t + ) x(t ) = A cos( 0 t + ) = A 2 1 1 1 1 = Xe j 0t + X * e j 0t = x (t ) + x * (t ) 2 2 2 2 = Re{x (t )}

March-2001

Continuous Fourier transform

X ( ) = x(t )e jt dt

t : Continuous time index in seconds : Continuous frequency index in radians per second

inverse transform:

x(t ) =
X. Serra

1 2

X ( )e jt d
9

March-2001

Discrete Fourier transform (DFT)

X ( k ) = x ( n )e j k n
n =0

N 1

k = 2 k N , N even, k = 0,1,..., N 1
: discrete radian frequency, n : discrete time index in samples, k : discrete frenquency index in bins.

Hertz-Radian relationship:

f = f s 2

f : frequency in Hz, f s : sampling rate, : radian frequency.


X. Serra 10

(... DFT)

March-2001

a few periods of a piano sound x(n) magnitude spectrum


20 log10 ( X (k ) )

20 log10 ( X (k ) )

phase spectrum
X (k )

X. Serra

11

March-2001

Inverse DFT:

1 x ( n) = N

X ( k )e
j n =0

N 1

kn

FFT implementation of the DFT: divide-and-conquer


DFT: proportional to N2 FFT: proportional to N log N

X. Serra

12

Frequency shifting
x s [n] = x[n]e j s n N * = X 0 + X k e j k n + X k e j k n k =1 N

March-2001

)e

j s n

* = X 0 e j s n + X k e j ( k s )n + X k e j ( k + s )n k =1

X. Serra

13

Channel Filters

March-2001

X. Serra

14

Running-Sum Filtering
Difference equation:

March-2001

y[n ] = x[n l ]
l =0

L 1

Frequency response:
sin ( L 2 ) j ( L 1) 2 e H ( ) = e jm = L sin ( 2 ) m=0 L 1

The zeros of H ( ) are equally spaced at


X. Serra

= 2k L
15

( running-sum filtering)

March-2001

X. Serra

16

Spectral Analysis

March-2001

x[n] =

1 N

X [l ]e (
j 2 l =0

N 1

N ) ln

periodic signal

after the multiplier:

1 xk [n] = N
X. Serra

X [l ]e (
j 2 l =0

N 1

N ) ln j ( 2 N )kn

17

(spectral analysis)

March-2001

y k [n ] =

1 N 1 H e j 2 (l k ) N X [l ]e j (2 N )(l k )n N l =0 1 = H e j 0 X [k ] N 1 N 1 + H e j 2 (l k ) N X [l ]e j ( 2 N )(l k )n N l =0

( )

l k

since

H e j 0 = N and H (e j 2 (l k ) N ) = 0 when (l k ) 0
y k [n] = X [k ]

( )

X. Serra

18

(spectral analysis)

March-2001

X. Serra

19

(spectral analysis)

March-2001

y k [n] = x k [n l ]
l =0

N 1

m = n N +1

xk [m] =

m = n N +1

x[m]e

j ( 2 N )km

using

n = N 1
N 1 N )km

X [k ] = x[m ]e j (2
m =0
X. Serra

k = 0,1,2, l , N 1
20

10

(spectral analysis)

March-2001

X. Serra

21

(spectral analysis)

March-2001

the DFT:

1 x[n] = N

X [k ]e (
j 2 k =0

N 1

N )kn

n = 0,1,2,l , N 1 k = 0,1,2,l , N 1

X [k ] = x[n]e j (2
n =0

N 1

N )kn

X. Serra

22

11

March-2001

DFT properties
x X (transform pairs) X = DFT ( x), x = IDFT ( X )
Linearity: ax1 + bx 2 aX 1 + bX 2 Convolution:
convolution point - by - point multiplication

(mixing commutes with the DFT)

Shift:
shift multiplication by a complex exponential
X. Serra 23

(... DFT properties)

March-2001

Evenness:
even real - valued
(even function : for every k , x k = x k )

Zero padding:
zero padding interpolation

Power:

x(n)
n=0

N 1

1 N

X (k )
k =0

N 1

(Rayleigh)

X. Serra

24

12

DFT examples
x1 [n ] = e j (2k0
N 1 n =0

March-2001

N )n

for n = 0,1,2,  , N 1
N )kn

X 1 [k ] = x1 [n]e j (2 = e j (2k0
n =0 N 1 N )n

e j (2

N )kn

= e j (2
n =0

N 1

N )( k k 0 )n N )( k k 0 )

= 1 + e j (2

+ e j (2

N )( k k 0 )2

+  + e j (2

N )( k k 0 )( N 1)

X. Serra

1 e j (2 N )(k k0 ) N = = N [k k 0 ] 1 e j (2 N )(k k0 )

25

(DFT examples)
x3 [n ] = e j ( 0 n + ) for
N 1 n =0

March-2001

n = 0,1,2,  , N 1
N )kn

X 3 [k ] = e j ( 0 n + )e j (2 N 1 n =0

= e j e j (2k N 0 )n

=e

(e

j (0 )

+ e j (2k N 0 ) +  + e j (2k N 0 )( N 1)

= e j

1 e j (2k N 0 ) N 1 e j (2k N 0 )

= e j e j ( 2k N 0 )( N 1) 2

sin ((2k N 0 ) N 2) sin ((2k N 0 ) 2 )


26

X. Serra

13

(DFT examples)

March-2001

X. Serra

27

14

You might also like