You are on page 1of 29

Convolution, Fourier Series, and

the Fourier Transform

CS414 Spring 2007


Roger Cheng
(some slides courtesy of Brian Bailey)
Convolution

A mathematical operator which computes the


amount of overlap between two functions.
Can be thought of as a general moving
average
Discrete domain:

Continuous domain:
Discrete domain
Basic steps
1. Flip (reverse) one of the digital functions.
2. Shift it along the time axis by one sample.
3. Multiply the corresponding values of the two digital functions.
4. Summate the products from step 3 to get one point of the
digital convolution.
5. Repeat steps 1-4 to obtain the digital convolution at all times
that the functions overlap.

Example
Continuous domain example
Continuous domain example
LTI (Linear Time-Invariant) Systems

Convolution can describe the effect of an LTI


system on a signal
Assume we have an LTI system H, and its
impulse response h[n]
Then if the input signal is x[n], the output signal
is y[n] = x[n] * h[n]

x[n] H y[n] = x[n]*h[n]


Mathematics of Waves

Periodic phenomena occur everywhere


vision, sound, electronic communication, etc.

In
order to manipulate physical world, we need
mathematical tools
Fourier Series
Any reasonable function can be expressed as a
(infinite) linear combination of sines and cosines

F(t) = a0 + a1cos (t) + b1sin(t) +


a2cos (2t) + b2sin(2t) +

=

n 0
( an cos(nt ) bn sin( nt ))

2
F(t) is a periodic function with

T
Reasonable?
2
F(t) is a periodic function with
T

must satisfy certain other conditions


finite number of discontinuities within T
finite average within T
finite number of minima and maxima
Calculate Coefficients

F (t ) n 0 (an cos( nt ) bn sin( nt ))


f (t )dt
a0 0
T
T T
2 2
ak
T f (t ) cos(kt )dt
0
bk
T f (t ) sin(kt )dt
0
Example
2
F(t) = square wave, with T=1.0s (
1.0
)
Example

4
F (t ) sin t

Example

4 4 4
F (t ) sin t sin 3t sin 5t
3 5
Example

What if
4 4 4
T = .01s; F (t ) sin t sin 3t sin 5t
3 5

4 4 4
F (t ) sin t sin 3t sin 5t
T = .05s; 3 5

4 4 4
T = 50s; F (t ) sin t sin 3t sin 5t
3 5
Time vs. Frequency Domain
Time

Frequency

4 4 4
F (t ) sin t sin 3t sin 5t
3 5
Why Frequency Domain?
Allows efficient representation of a good approximation to
the original function

Makes filtering easy

Note that convolution in the time domain is equivalent to


multiplication in the frequency domain (and vice versa)
When you are faced with a difficult convolution (or multiplication),
you can switch domains and do the complement operation
Fourier Family
Discrete Fourier Transform

Rarely have closed form equation for F(t)

Must sample at periodic intervals


generates a series of numeric values
apply transform to a time window of values
N = number of sample points
x[ ] contains sample points
DFT Notation

ck[i]
and sk [i] are the cosine and sine waves,
each N points in length
ck is cosine wave for amplitude in ReX[k]
sk is sine wave for amplitude in ImX[k]
k refers to the frequency of the wave
usually between 0 and N/2
ck[i ] cos(2ki / N )
sk[i ] sin( 2ki / N )
Complex exponentials

Alternatively, we can use complex exponentials

Eulers formula: eiw = cos(w) + i*sin(w)


Calculate DFT

Separate sinusoids
N 1
Re X [ k ] x[i ] cos(2ki / N )
i 0
N 1
Im X [k ] x[i ] sin( 2ki / N )
i 0

Complex exponentials
Calculate Inverse DFT

Coefficients first need to be normalized


Re X [k ]
Re X [ k ] Im X [k ]
N /2
Im X [k ]
N /2

With two special cases


Re X [0] Re X [ N / 2]
Re X [0] Re X [ N / 2]
N N
Calculate Inverse DFT

Corresponding points within the basis function


contribute to each input value
Equation uses the normalized coefficients
Result is exactly equal to original data (within
rounding error), ie IDFT(DFT(x[n])) = x[n]
N /2 N /2
x[i ] Re X [k ] cos(2ki / N ) Im X [k ] sin (2ki / N )
k 0 k 0
DCT (Discrete Cosine Transform)

DCT is very similar to DFT


Sine wave + phase shift equals cosine wave
N coefficients of cosine basis functions
Advantage: Result is purely real
Most common is Type II
Used in JPEG and MPEG
FFT (Fast Fourier Transform)
FFT is an efficient algorithm for computing the DFT
Nave method for DFT requires O(N2) operations
FFT uses divide and conquer to break up problem into many 2-
point DFTs (which are easy to compute)
2-point DFT: X[0] = x[0] + x[1]
X[1] = x[0] x[1]
log2N stages, O(N) operations per stage => O(N log N) total
operations
Ideally, want N to be a power of 2 or close to a power of 2
4-point FFT butterfly diagram
Fourier Transform

Definitions:

Can be difficult to compute =>


Often rely upon table of transforms
Delta function

Definition:

Often, the result of the Fourier Transform needs


to be expressed in terms of the delta function
Fourier Transform pairs

There is a duality in all transform pairs

You might also like