Frolicking Fourier Fun - unc.edu · PDF fileFrolicking Fourier Fun 9/4/08 Comp 665 –...

Post on 05-Feb-2018

217 views 0 download

Transcript of Frolicking Fourier Fun - unc.edu · PDF fileFrolicking Fourier Fun 9/4/08 Comp 665 –...

FrolickingFourierFun

9/4/08 Comp665–RealandSpecialSignals 1

Website is now online at: http://www.unc.edu/courses/2008fall/comp/665/001/

AnExample

•  RecalltheFourierTransformof

•  So,whatwouldthetransformofthissignalbe?

9/4/08 Comp665–FrolickingFourierFun 2

x[n]↔ X [k ]

X [k ] = x(n)e−i 2πkN

n

n=0

N −1

∑ k = 0,…,N −1

X [k ] = x(n) cos 2πkN

n( ) − isin 2πkN

n( )

n=0

N −1

∑ k = 0,…,N −1

1

CosineandSineBases

•  JustaprojecIonontothesebasisvectors

9/4/08 Comp665–FrolickingFourierFun 3

1 x[n]

1 Re(X[k])

1 Im(X[k])

Interpreta:on

•  General–  x[n]isdecomposedintobinsofsinusoids

withprogressivelyincreasingfrequencyuptok=N/2

–  Decomposedinto2parts“Real”Cosinepart“Imaginary”Sinepart

•  Specifictounitsample–  Broadanduniformfrequencycontent

–  Onlythe“Real”parthasnon‐zerocontent

9/4/08 Comp665–FrolickingFourierFun 4

1 x[n]

1 Re(X[k])

1 Im(X[k])

SumofCosines

9/4/08 Comp665–FrolickingFourierFun 5

AnotherExample

•  Oneperiodofacosine:x[n]=cos(2πn/N)

9/4/08 Comp665–FrolickingFourierFun 6

SimpleFrequencySpectrum

•  Two“cosine”peaks,no“sine”peaks

9/4/08 Comp665–FrolickingFourierFun 7

Shi?ingFrequencies

•  Inordertoseethesymmetrystructureduetothe“real‐signal”constraintsofthefrequencydomainthespectrumiscommonly“shibed”

9/4/08 Comp665–FrolickingFourierFun 8

x[n],real↔ Re(X [k ]) = Re(X [N − k ]), k > 0Im(X [k ]) = −Im(X [N − k ]), k > 0

Shift(X [k ]) =X k + N

2[ ] k < N2

X k − N2[ ] k ≥ N

2

OurExample

•  SotheFouriertransformofcos(2πn/N)is2symmetricpeaks

9/4/08 Comp665–FrolickingFourierFun 9

This is the “cumulative” or

“DC” signal value

Cumulative magnitude of

“1-period” cosine

TwoPeriods

•  Doublingthefrequencyofthecosinegives:cos(2π(2n)/N)

9/4/08 Comp665–FrolickingFourierFun 10

•  Triplingthefrequencyofthecosinegives:cos(2π(3n)/N)

ThreePeriods

9/4/08 Comp665–FrolickingFourierFun 11

SignsofSines

•  Nowconsider:x[n]=sin(2πn/N)•  Onlysineor“imaginary”componentsarenonzero•  Note“odd”symmetry

9/4/08 Comp665–FrolickingFourierFun 12

MoreComplicatedExample

•  Considerthe“boxcar”pulsesignal

•  CumulaIvesum?

•  Cos‐likeorSin‐like?•  HighorLowFreq?

9/4/08 Comp665–FrolickingFourierFun 13

x[n] =1 N

4≤ n < 3 N

4

0 otherwise

BoxcarinFreqDomain

•  TheCosineandSinecomponents

9/4/08 Comp665–FrolickingFourierFun 14

MagnitudeandPhase

•  RecallthattheCosine(Real)andSine(Imaginary)partscouldbeconsideredasspecifyingageneralsinusoidwithanamplitudeandphaseshibgivenby:

•  ThisinterpretaIonisobenmoreintuiIve

9/4/08 Comp665–FrolickingFourierFun 15

H [k ] = Re(X [k ])2 + Im(X [k ])2

tan(ϕ ) =Im(X [k ])Re(X [k ])

BoxcarMagnitudeandPhase

•  Forourexample:

9/4/08 Comp665–FrolickingFourierFun 16

ASawtooth

•  AnothercommonfuncIon,alinearramp

•  CumulaIvesum?

•  Cos‐likeorSin‐like?•  HighorLowFreq?

9/4/08 Comp665–FrolickingFourierFun 17

x[n] = nN

InTermsofCosandSin

•  Whatyouguessed?

9/4/08 Comp665–FrolickingFourierFun 18

NowMagnitudeandPhase

•  Puzzlecomestogether

9/4/08 Comp665–FrolickingFourierFun 19

TriangleWave

•  AclosecousinoftheSawtoothandcosine•  Whatistheexpressionforx[n]?

•  CumulaIvesum?

•  Cos‐likeorSin‐like?•  HighorLowFreq?

9/4/08 Comp665–FrolickingFourierFun 20

TriangleinCosandSin

•  SeewhyIsaiditwasrelatedtocosine?

9/4/08 Comp665–FrolickingFourierFun 21

2DFourierTransform

•  FourierTransformsareLinear•  RecallcombininglinearconvoluIons

•  Sameistruehere,firstdorowtransformsfollowedbycolumntransforms

9/4/08 Comp665–FrolickingFourierFun 22

Row System Column System

FourierTransformofanImage

•  BoxcarImage

9/4/08 Comp665–FrolickingFourierFun 23

Original Log(Mag) Phase(Mag)

FourierTransformofanImage

•  Source

9/4/08 Comp665–FrolickingFourierFun 24

Original Log(Mag)

Today’sLecture

•  Wasbroughttoyouby5linesofcode:

•  NextTimewe’llplaydirectlywiththecode

9/4/08 Comp665–FrolickingFourierFun 25

def dft(x): N = len(x) re = [sum([x[n]*cos(2*pi*k*n/N) for n in xrange(N)]) for k in xrange(N)] im = [sum([-x[n]*sin(2*pi*k*n/N) for n in xrange(N)]) for k in xrange(N)] return (re, im)