CMU SCS 15-826: Multimedia Databases and Data Mining Lecture #22: DSP tools – Fourier and Wavelets C. Faloutsos.

Slides:



Advertisements
Similar presentations
DCSP-12 Jianfeng Feng
Advertisements

DCSP-13 Jianfeng Feng
Noise & Data Reduction. Paired Sample t Test Data Transformation - Overview From Covariance Matrix to PCA and Dimension Reduction Fourier Analysis - Spectrum.
Time Series II.
CMU SCS : Multimedia Databases and Data Mining Lecture #23: DSP tools – Fourier and Wavelets C. Faloutsos.
ECE 8443 – Pattern Recognition EE 3512 – Signals: Continuous and Discrete Objectives: Response to a Sinusoidal Input Frequency Analysis of an RC Circuit.
CMU SCS : Multimedia Databases and Data Mining Lecture #19: SVD - part II (case studies) C. Faloutsos.
Welcome to MATLAB DigComm LAB
Leo Lam © Signals and Systems EE235 Leo Lam.
Fourier Transforms and Their Use in Data Compression
CMU SCS : Multimedia Databases and Data Mining Lecture#5: Multi-key and Spatial Access Methods - II C. Faloutsos.
CMU SCS : Multimedia Databases and Data Mining Lecture#2: Primary key indexing – B-trees Christos Faloutsos - CMU
The Discrete Fourier Transform. The spectrum of a sampled function is given by where –  or 0 .
LECTURE Copyright  1998, Texas Instruments Incorporated All Rights Reserved Use of Frequency Domain Telecommunication Channel |A| f fcfc Frequency.
Fourier Transform (Chapter 4)
DFT/FFT and Wavelets ● Additive Synthesis demonstration (wave addition) ● Standard Definitions ● Computing the DFT and FFT ● Sine and cosine wave multiplication.
Math Review with Matlab:
15-826: Multimedia Databases and Data Mining
Spatial and Temporal Data Mining
Time Series Indexing II. Time Series Data
Computer Graphics Recitation 7. 2 Motivation – Image compression What linear combination of 8x8 basis signals produces an 8x8 block in the image?
Indexing Time Series. Time Series Databases A time series is a sequence of real numbers, representing the measurements of a real variable at equal time.
Efficient Similarity Search in Sequence Databases Rakesh Agrawal, Christos Faloutsos and Arun Swami Leila Kaghazian.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 3: Sampling and Reconstruction Ravi Ramamoorthi
Wavelet Transform. What Are Wavelets? In general, a family of representations using: hierarchical (nested) basis functions finite (“compact”) support.
1 The Mathematics of Signal Processing - an Innovative Approach Peter Driessen Faculty of Engineering University of Victoria.
Multi-Resolution Analysis (MRA)
10-603/15-826A: Multimedia Databases and Data Mining SVD - part I (definitions) C. Faloutsos.
Introduction to Wavelets
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 3: Sampling and Reconstruction Ravi Ramamoorthi
Digital Image Processing Final Project Compression Using DFT, DCT, Hadamard and SVD Transforms Zvi Devir and Assaf Eden.
Indexing Time Series.
Discrete Time Periodic Signals A discrete time signal x[n] is periodic with period N if and only if for all n. Definition: Meaning: a periodic signal keeps.
The Frequency Domain Sinusoidal tidal waves Copy of Katsushika Hokusai The Great Wave off Kanagawa at
CELLULAR COMMUNICATIONS DSP Intro. Signals: quantization and sampling.
Goals For This Class Quickly review of the main results from last class Convolution and Cross-correlation Discrete Fourier Analysis: Important Considerations.
Integral Transform Dongsup Kim Department of Biosystems, KAIST Fall, 2004.
Where we’re going Speed, Storage Issues Frequency Space.
Motivation Music as a combination of sounds at different frequencies
Image Processing Fourier Transform 1D Efficient Data Representation Discrete Fourier Transform - 1D Continuous Fourier Transform - 1D Examples.
The Discrete Fourier Transform. The Fourier Transform “The Fourier transform is a mathematical operation with many applications in physics and engineering.
Transforms. 5*sin (2  4t) Amplitude = 5 Frequency = 4 Hz seconds A sine wave.
Lecture 2 Signals and Systems (I)
Lecture 12: Introduction to Discrete Fourier Transform Sections 2.2.3, 2.3.
1 LES of Turbulent Flows: Lecture 2 Supplement (ME EN ) Prof. Rob Stoll Department of Mechanical Engineering University of Utah Fall 2014.
09/19/2002 (C) University of Wisconsin 2002, CS 559 Last Time Color Quantization Dithering.
EE104: Lecture 5 Outline Review of Last Lecture Introduction to Fourier Transforms Fourier Transform from Fourier Series Fourier Transform Pair and Signal.
DCT.
CH#3 Fourier Series and Transform
7- 1 Chapter 7: Fourier Analysis Fourier analysis = Series + Transform ◎ Fourier Series -- A periodic (T) function f(x) can be written as the sum of sines.
Indexing Time Series. Outline Spatial Databases Temporal Databases Spatio-temporal Databases Data Mining Multimedia Databases Text databases Image and.
CMU SCS : Multimedia Databases and Data Mining Lecture #18: SVD - part I (definitions) C. Faloutsos.
Fourier Transform.
Fourier and Wavelet Transformations Michael J. Watts
CS 376b Introduction to Computer Vision 03 / 17 / 2008 Instructor: Michael Eckmann.
 Introduction to reciprocal space
The Frequency Domain Digital Image Processing – Chapter 8.
CH#3 Fourier Series and Transform 1 st semester King Saud University College of Applied studies and Community Service 1301CT By: Nour Alhariqi.
Digital Image Processing Lecture 8: Fourier Transform Prof. Charlene Tsai.
Singular Value Decomposition and its applications
Wavelet Transform Advanced Digital Signal Processing Lecture 12
Discrete Fourier Transform (DFT)
CS 591 S1 – Computational Audio
DIGITAL SIGNAL PROCESSING ELECTRONICS
An Example of 1D Transform with Two Variables
Wavelets : Introduction and Examples
Fourier and Wavelet Transformations
UNIT II Analysis of Continuous Time signal
Lecture 17 DFT: Discrete Fourier Transform
Chapter 15: Wavelets (i) Fourier spectrum provides all the frequencies
Presentation transcript:

CMU SCS : Multimedia Databases and Data Mining Lecture #22: DSP tools – Fourier and Wavelets C. Faloutsos

CMU SCS Copyright: C. Faloutsos (2013)2 Must-read Material DFT/DCT: In PTVF ch. 12.1, 12.3, 12.4; in Textbook Appendix B.PTVF Textbook Wavelets: In PTVF ch ; in MM Textbook Appendix CPTVFMM Textbook

CMU SCS Copyright: C. Faloutsos (2013)3 Outline Goal: ‘Find similar / interesting things’ Intro to DB Indexing - similarity search Data Mining

CMU SCS Copyright: C. Faloutsos (2013)4 Indexing - Detailed outline primary key indexing.. Multimedia – –Digital Signal Processing (DSP) tools Discrete Fourier Transform (DFT) Discrete Wavelet Transform (DWT)

CMU SCS Copyright: C. Faloutsos (2013)5 DSP - Detailed outline DFT –what –why –how –Arithmetic examples –properties / observations –DCT –2-d DFT –Fast Fourier Transform (FFT)

CMU SCS Copyright: C. Faloutsos (2013)6 Introduction Goal: given a signal (eg., sales over time and/or space) Find: patterns and/or compress year count lynx caught per year

CMU SCS Copyright: C. Faloutsos (2013)7 What does DFT do? A: highlights the periodicities

CMU SCS Copyright: C. Faloutsos (2013)8 Why should we care? A: several real sequences are periodic Q: Such as?

CMU SCS Copyright: C. Faloutsos (2013)9 Why should we care? A: several real sequences are periodic Q: Such as? A: –sales patterns follow seasons; –economy follows 50-year cycle –temperature follows daily and yearly cycles Many real signals follow (multiple) cycles

CMU SCS Copyright: C. Faloutsos (2013)10 Why should we care? For example: human voice! Frequency analyzer speaker identification impulses/noise -> flat spectrum high pitch -> high frequency

CMU SCS Copyright: C. Faloutsos (2013)11 ‘Frequency Analyzer’ time frequency

CMU SCS Copyright: C. Faloutsos (2013)12 DFT and stocks Dow Jones Industrial index, 6/18/ /21/2001

CMU SCS Copyright: C. Faloutsos (2013)13 DFT and stocks Dow Jones Industrial index, 6/18/ /21/2001 just 3 DFT coefficients give very good approximation freq Log(ampl)

CMU SCS Copyright: C. Faloutsos (2013)14 DFT: definition Discrete Fourier Transform (n-point): inverse DFT

CMU SCS (Reminder) (fun fact: the equation with the 5 most important numbers: ) Copyright: C. Faloutsos (2013)15  Re Im

CMU SCS Copyright: C. Faloutsos (2013)16 DFT: alternative definition Discrete Fourier Transform (n-point): inverse DFT

CMU SCS Copyright: C. Faloutsos (2013)17 How does it work? Decomposes signal to a sum of sine (and cosine) waves. Q:How to assess ‘similarity’ of x with a wave? 0 1 n-1 time value x ={x 0, x 1,... x n-1 } details …

CMU SCS Copyright: C. Faloutsos (2013)18 How does it work? A: consider the waves with frequency 0, 1,...; use the inner-product (~cosine similarity) 0 1 n-1 time value freq. f=0 0 1 n-1 time value freq. f=1 (sin(t * 2  n) ) details

CMU SCS Copyright: C. Faloutsos (2013)19 How does it work? A: consider the waves with frequency 0, 1,...; use the inner-product (~cosine similarity) 0 1 n-1 time value freq. f=2 details

CMU SCS Copyright: C. Faloutsos (2013)20 How does it work? ‘basis’ functions (vectors) 0 1 n sine, freq =1 sine, freq = n cosine, f=1 cosine, f=2 details

CMU SCS Copyright: C. Faloutsos (2013)21 How does it work? Basis functions are actually n-dim vectors, orthogonal to each other ‘similarity’ of x with each of them: inner product DFT: ~ all the similarities of x with the basis functions details

CMU SCS Copyright: C. Faloutsos (2013)22 DFT: definition Good news: Available in all symbolic math packages, eg., in ‘mathematica’ x = [1,2,1,2]; X = Fourier[x]; Plot[ Abs[X] ];

CMU SCS Copyright: C. Faloutsos (2013)23 DFT: definition (variations: 1/n instead of 1/sqrt(n) exp(-...) instead of exp(+...)

CMU SCS Copyright: C. Faloutsos (2013)24 DFT: definition Observations: X f : are complex numbers except –X 0, who is real Im (X f ): ~ amplitude of sine wave of frequency f Re (X f ): ~ amplitude of cosine wave of frequency f x: is the sum of the above sine/cosine waves

CMU SCS Copyright: C. Faloutsos (2013)25 DFT: definition Observation - SYMMETRY property: X f = (X n-f )* ( “*”: complex conjugate: (a + b j)* = a - b j ) details

CMU SCS Copyright: C. Faloutsos (2013)26 DFT: definition Definitions A f = |X f | : amplitude of frequency f |X f | 2 = Re(X f ) 2 + Im(X f ) 2 = energy of frequency f phase  f at frequency f XfXf Re Im AfAf ff

CMU SCS Copyright: C. Faloutsos (2013)27 DFT: definition Amplitude spectrum: | X f | vs f (f=0, 1,... n-1) 0 1n-1 SYMMETRIC (Thus, we plot the first half only) details

CMU SCS Copyright: C. Faloutsos (2013)28 DFT: definition Phase spectrum |  f | vs f (f=0, 1,... n-1): Anti-symmetric (Rarely used) details

CMU SCS Copyright: C. Faloutsos (2013)29 DFT: examples flat time freq Amplitude

CMU SCS Copyright: C. Faloutsos (2013)30 DFT: examples Low frequency sinusoid time freq

CMU SCS Copyright: C. Faloutsos (2013)31 DFT: examples Sinusoid - symmetry property: X f = X * n-f time freq

CMU SCS Copyright: C. Faloutsos (2013)32 DFT: examples Higher freq. sinusoid time freq

CMU SCS Copyright: C. Faloutsos (2013)33 DFT: examples examples = + +

CMU SCS Copyright: C. Faloutsos (2013)34 DFT: examples examples Freq. Ampl.

CMU SCS Copyright: C. Faloutsos (2013)35 DFT: Amplitude spectrum year count Freq. Ampl. freq=12 freq=0 Amplitude:

CMU SCS Copyright: C. Faloutsos (2013)36 DFT: Amplitude spectrum year count Freq. Ampl. freq=12 freq=0

CMU SCS Copyright: C. Faloutsos (2013)37 DFT: Amplitude spectrum year count Freq. Ampl. freq=12 freq=0

CMU SCS Copyright: C. Faloutsos (2013)38 DFT: Amplitude spectrum excellent approximation, with only 2 frequencies! so what? Freq.

CMU SCS Copyright: C. Faloutsos (2013)39 DFT: Amplitude spectrum excellent approximation, with only 2 frequencies! so what? A1: compression A2: pattern discovery (A3: forecasting)

CMU SCS Copyright: C. Faloutsos (2013)40 DFT: Amplitude spectrum excellent approximation, with only 2 frequencies! so what? A1: (lossy) compression A2: pattern discovery

CMU SCS Copyright: C. Faloutsos (2013)41 DFT: Amplitude spectrum excellent approximation, with only 2 frequencies! so what? A1: (lossy) compression A2: pattern discovery

CMU SCS Copyright: C. Faloutsos (2013)42 DFT: Amplitude spectrum Let’s see it in action (defunct now…) ( plain sine phase shift two sine waves the ‘chirp’ function

CMU SCS Copyright: C. Faloutsos (2013)43 Plain sine

CMU SCS Copyright: C. Faloutsos (2013)44 Plain sine

CMU SCS Copyright: C. Faloutsos (2013)45 Plain sine – phase shift

CMU SCS Copyright: C. Faloutsos (2013)46 Plain sine – phase shift

CMU SCS Copyright: C. Faloutsos (2013)47 Plain sine

CMU SCS Copyright: C. Faloutsos (2013)48 Two sines

CMU SCS Copyright: C. Faloutsos (2013)49 Two sines

CMU SCS Copyright: C. Faloutsos (2013)50 Chirp

CMU SCS Copyright: C. Faloutsos (2013)51 Chirp

CMU SCS Copyright: C. Faloutsos (2013)52 Another applet (seems virus-free – but scan, before you install) Local copy, CMU: Start DEMO

CMU SCS Properties Time shift sounds the same –Changes only phase, not amplitudes Sawtooth has almost all frequencies –With decreasing amplitude Spike has all frequencies Copyright: C. Faloutsos (2013)53

CMU SCS Copyright: C. Faloutsos (2013)54 DFT: Parseval’s theorem sum( x t 2 ) = sum ( | X f | 2 ) Ie., DFT preserves the ‘energy’ or, alternatively: it does an axis rotation: x0 x1 x = {x0, x1}

CMU SCS Copyright: C. Faloutsos (2013)55 DFT: Parseval’s theorem sum( x t 2 ) = sum ( | X f | 2 ) Ie., DFT preserves the ‘energy’ or, alternatively: it does an axis rotation: x0 x1 x = {x0, x1}

CMU SCS Copyright: C. Faloutsos (2013)56 DSP - Detailed outline DFT –what –why –how –Arithmetic examples –properties / observations –DCT –2-d DFT –Fast Fourier Transform (FFT)

CMU SCS Copyright: C. Faloutsos (2013)57 Arithmetic examples Impulse function: x = { 0, 1, 0, 0} (n = 4) X 0 =? 0 1 time value 1 details

CMU SCS Copyright: C. Faloutsos (2013)58 Arithmetic examples Impulse function: x = { 0, 1, 0, 0} (n = 4) X 0 =? A: X 0 = 1/sqrt(4) * 1* exp(-j 2  0 / n ) = 1/2 X 1 =? X 2 =? X 3 =? details

CMU SCS Copyright: C. Faloutsos (2013)59 Arithmetic examples Impulse function: x = { 0, 1, 0, 0} (n = 4) X 0 =? A: X 0 = 1/sqrt(4) * 1* exp(-j 2  0 / n ) = 1/2 X 1 = -1/2 j X 2 = - 1/2 X 3 = + 1/2 j Q: does the ‘symmetry’ property hold? details

CMU SCS Copyright: C. Faloutsos (2013)60 Arithmetic examples Impulse function: x = { 0, 1, 0, 0} (n = 4) X 0 =? A: X 0 = 1/sqrt(4) * 1* exp(-j 2  0 / n ) = 1/2 X 1 = -1/2 j X 2 = - 1/2 X 3 = + 1/2 j Q: does the ‘symmetry’ property hold? A: Yes (of course) details

CMU SCS Copyright: C. Faloutsos (2013)61 Arithmetic examples Impulse function: x = { 0, 1, 0, 0} (n = 4) X 0 =? A: X 0 = 1/sqrt(4) * 1* exp(-j 2  0 / n ) = 1/2 X 1 = -1/2 j X 2 = - 1/2 X 3 = + 1/2 j Q: check Parseval’s theorem details

CMU SCS Copyright: C. Faloutsos (2013)62 Arithmetic examples Impulse function: x = { 0, 1, 0, 0} (n = 4) X 0 =? A: X 0 = 1/sqrt(4) * 1* exp(-j 2  0 / n ) = 1/2 X 1 = -1/2 j X 2 = - 1/2 X 3 = + 1/2 j Q: (Amplitude) spectrum? details

CMU SCS Copyright: C. Faloutsos (2013)63 Arithmetic examples Impulse function: x = { 0, 1, 0, 0} (n = 4) X 0 =? A: X 0 = 1/sqrt(4) * 1* exp(-j 2  0 / n ) = 1/2 X 1 = -1/2 j X 2 = - 1/2 X 3 = + 1/2 j Q: (Amplitude) spectrum? A: FLAT!

CMU SCS Copyright: C. Faloutsos (2013)64 Arithmetic examples Q: What does this mean?

CMU SCS Copyright: C. Faloutsos (2013)65 Arithmetic examples Q: What does this mean? A: All frequencies are equally important -> –we need n numbers in the frequency domain to represent just one non-zero number in the time domain! – “frequency leak”

CMU SCS Copyright: C. Faloutsos (2013)66 DSP - Detailed outline DFT –what –why –how –Arithmetic examples –properties / observations –DCT –2-d DFT –Fast Fourier Transform (FFT)

CMU SCS Copyright: C. Faloutsos (2013)67 Observations DFT of ‘step’ function: x = { 0, 0,..., 0, 1, 1,... 1} t xtxt

CMU SCS Copyright: C. Faloutsos (2013)68 Observations DFT of ‘step’ function: x = { 0, 0,..., 0, 1, 1,... 1} t xtxt f = 0

CMU SCS Copyright: C. Faloutsos (2013)69 Observations DFT of ‘step’ function: x = { 0, 0,..., 0, 1, 1,... 1} t xtxt f = 0 f=1

CMU SCS Copyright: C. Faloutsos (2013)70 Observations DFT of ‘step’ function: x = { 0, 0,..., 0, 1, 1,... 1} t xtxt f = 0 f=1 the more frequencies, the better the approx. ‘ringing’ becomes worse reason: discontinuities; trends

CMU SCS Copyright: C. Faloutsos (2013)71 Observations Ringing for trends: because DFT ‘sub- consciously’ replicates the signal t xtxt

CMU SCS Copyright: C. Faloutsos (2013)72 Observations Ringing for trends: because DFT ‘sub- consciously’ replicates the signal t xtxt

CMU SCS Copyright: C. Faloutsos (2013)73 Observations Ringing for trends: because DFT ‘sub- consciously’ replicates the signal t xtxt

CMU SCS Copyright: C. Faloutsos (2013)74 original

CMU SCS Copyright: C. Faloutsos (2013)75 DC and 1st

CMU SCS Copyright: C. Faloutsos (2013)76 And 2nd DC and 1st

CMU SCS Copyright: C. Faloutsos (2013)77 And 3rd DC and 1st And 2nd

CMU SCS Copyright: C. Faloutsos (2013)78 And 4th DC and 1st And 3rd And 2nd

CMU SCS Copyright: C. Faloutsos (2013)79 Observations Q: DFT of a sinusoid, eg. x t = 3 sin( 2  / 4 t) (t = 0,..., 3) Q: X 0 = ? Q: X 1 = ? Q: X 2 = ? Q: X 3 = ?

CMU SCS Copyright: C. Faloutsos (2013)80 Observations Q: DFT of a sinusoid, eg. x t = 3 sin( 2  / 4 t) (t = 0,..., 3) Q: X 0 = 0 Q: X 1 = -3 j Q: X 2 = 0 Q: X 3 = 3j check ‘symmetry’ check Parseval

CMU SCS Copyright: C. Faloutsos (2013)81 Q: DFT of a sinusoid, eg. x t = 3 sin( 2  / 4 t) (t = 0,..., 3) Q: X 0 = 0 Q: X 1 = -3 j Q: X 2 = 0 Q: X 3 = 3j Observations Does this make sense? f AfAf 0 1 2

CMU SCS Copyright: C. Faloutsos (2013)82 Shifting x in time does NOT change the amplitude spectrum eg., x = { } and x’ = { }: same (flat) amplitude spectrum (only the phase spectrum changes) Useful property when we search for patterns that may ‘slide’ Property

CMU SCS Summary of properties Spike in time: -> all frequencies Step/Trend: -> ringing (~ all frequencies) Single/dominant sinusoid: -> spike in spectrum Time shift -> same amplitude spectrum Copyright: C. Faloutsos (2013)83

CMU SCS Copyright: C. Faloutsos (2013)84 DSP - Detailed outline DFT –what –why –how –Arithmetic examples –properties / observations –DCT –2-d DFT –Fast Fourier Transform (FFT)

CMU SCS Copyright: C. Faloutsos (2013)85 DCT Discrete Cosine Transform motivation#1: DFT gives complex numbers motivation#2: how to avoid the ‘frequency leak’ of DFT on trends? t xtxt details

CMU SCS Copyright: C. Faloutsos (2013)86 DCT brilliant solution to both problems: mirror the sequence, do DFT, and drop the redundant entries! t xtxt details

CMU SCS Copyright: C. Faloutsos (2013)87 DCT (see Numerical Recipes for exact formulas) details

CMU SCS Copyright: C. Faloutsos (2013)88 DCT - properties it gives real numbers as the result it has no problems with trends it is very good when x t and x (t+1) are correlated (thus, is used in JPEG, for image compression)

CMU SCS Copyright: C. Faloutsos (2013)89 DSP - Detailed outline DFT –what –why –how –Arithmetic examples –properties / observations –DCT –2-d DFT –Fast Fourier Transform (FFT)

CMU SCS Copyright: C. Faloutsos (2013)90 2-d DFT Definition:

CMU SCS Copyright: C. Faloutsos (2013)91 2-d DFT Intuition: n1 n2 do 1-d DFT on each row and then 1-d DFT on each column

CMU SCS Copyright: C. Faloutsos (2013)92 2-d DFT Quiz: how do the basis functions look like? for f1= f2 =0 for f1=1, f2=0 for f1=1, f2=1

CMU SCS Copyright: C. Faloutsos (2013)93 2-d DFT Quiz: how do the basis functions look like? for f1= f2 =0 flat for f1=1, f2=0wave on x; flat on y for f1=1, f2=1~ egg-carton

CMU SCS Copyright: C. Faloutsos (2013)94 2-d DFT Quiz: how do the basis functions look like? for f1= f2 =0 flat for f1=1, f2=0wave on x; flat on y for f1=1, f2=1~ egg-carton

CMU SCS Copyright: C. Faloutsos (2013)95 DSP - Detailed outline DFT –what –why –how –Arithmetic examples –properties / observations –DCT –2-d DFT –Fast Fourier Transform (FFT)

CMU SCS Copyright: C. Faloutsos (2013)96 FFT What is the complexity of DFT? details

CMU SCS Copyright: C. Faloutsos (2013)97 FFT What is the complexity of DFT? A: Naively, O(n 2 ) details

CMU SCS Copyright: C. Faloutsos (2013)98 FFT However, if n is a power of 2 (or a number with many divisors), we can make it O(n log n) Main idea: if we know the DFT of the odd time-ticks, and of the even time-ticks, we can quickly compute the whole DFT Details: in Num. Recipes details

CMU SCS Copyright: C. Faloutsos (2013)99 DFT - Conclusions It spots periodicities (with the ‘amplitude spectrum’) can be quickly computed (O( n log n)), thanks to the FFT algorithm. standard tool in signal processing (speech, image etc signals) Freq.

CMU SCS Copyright: C. Faloutsos (2013)100 Detailed outline primary key indexing.. multimedia Digital Signal Processing (DSP) tools –Discrete Fourier Transform (DFT) –Discrete Wavelet Transform (DWT)

CMU SCS Copyright: C. Faloutsos (2013)101 Reminder: Problem: Goal: given a signal (eg., #packets over time) Find: patterns, periodicities, and/or compress year count lynx caught per year (packets per day; virus infections per month)

CMU SCS Copyright: C. Faloutsos (2013)102 Wavelets - DWT DFT is great - but, how about compressing a spike? value time

CMU SCS Copyright: C. Faloutsos (2013)103 Wavelets - DWT DFT is great - but, how about compressing a spike? A: Terrible - all DFT coefficients needed! Freq. Ampl. value time

CMU SCS Copyright: C. Faloutsos (2013)104 Wavelets - DWT DFT is great - but, how about compressing a spike? A: Terrible - all DFT coefficients needed! value time

CMU SCS Copyright: C. Faloutsos (2013)105 Wavelets - DWT Similarly, DFT suffers on short-duration waves (eg., baritone, silence, soprano) time value

CMU SCS Copyright: C. Faloutsos (2013)106 Wavelets - DWT Solution#1: Short window Fourier transform (SWFT) But: how short should be the window? time freq time value

CMU SCS Copyright: C. Faloutsos (2013)107 Wavelets - DWT Answer: multiple window sizes! -> DWT time freq Time domain DFT SWFT DWT

CMU SCS Copyright: C. Faloutsos (2013)108 Haar Wavelets subtract sum of left half from right half repeat recursively for quarters, eight-ths,...

CMU SCS Copyright: C. Faloutsos (2013)109 Wavelets - construction x0 x1 x2 x3 x4 x5 x6 x7

CMU SCS Copyright: C. Faloutsos (2013)110 Wavelets - construction x0 x1 x2 x3 x4 x5 x6 x7 s1,0 + - d1,0 s1,1d1, level 1

CMU SCS Copyright: C. Faloutsos (2013)111 Wavelets - construction d2,0 x0 x1 x2 x3 x4 x5 x6 x7 s1,0 + - d1,0 s1,1d1, s2,0 level 2

CMU SCS Copyright: C. Faloutsos (2013)112 Wavelets - construction d2,0 x0 x1 x2 x3 x4 x5 x6 x7 s1,0 + - d1,0 s1,1d1, s2,0 etc...

CMU SCS Copyright: C. Faloutsos (2013)113 Wavelets - construction d2,0 x0 x1 x2 x3 x4 x5 x6 x7 s1,0 + - d1,0 s1,1d1, s2,0 Q: map each coefficient on the time-freq. plane t f

CMU SCS Copyright: C. Faloutsos (2013)114 Wavelets - construction d2,0 x0 x1 x2 x3 x4 x5 x6 x7 s1,0 + - d1,0 s1,1d1, s2,0 Q: map each coefficient on the time-freq. plane t f

CMU SCS Copyright: C. Faloutsos (2013)115 Haar wavelets - code #!/usr/bin/perl5 # expects a file with numbers # and prints the dwt transform # The number of time-ticks should be a power of 2 # USAGE # haar.pl # the smooth component of the signal # the high-freq. component # collect the values into the = split ); } my $len = my $half = int($len/2); while($half >= 1 ){ for(my $i=0; $i< $half; $i++){ $diff [$i] = ($vals[2*$i] - $vals[2*$i + 1] )/ sqrt(2); print "\t", $diff[$i]; $smooth [$i] = ($vals[2*$i] + $vals[2*$i + 1] )/ sqrt(2); } print $half = int($half/2); } print "\t", $vals[0], "\n" ; # the final, smooth component Also at:

CMU SCS Copyright: C. Faloutsos (2013)116 Wavelets - construction Observation1: ‘+’ can be some weighted addition ‘-’ is the corresponding weighted difference (‘Quadrature mirror filters’) Observation2: unlike DFT/DCT, there are *many* wavelet bases: Haar, Daubechies- 4, Daubechies-6, Coifman, Morlet, Gabor,...

CMU SCS Copyright: C. Faloutsos (2013)117 Wavelets - how do they look like? E.g., Daubechies-4

CMU SCS Copyright: C. Faloutsos (2013)118 Wavelets - how do they look like? E.g., Daubechies-4 ? ?

CMU SCS Copyright: C. Faloutsos (2013)119 Wavelets - how do they look like? E.g., Daubechies-4

CMU SCS Copyright: C. Faloutsos (2013)120 Wavelets - Drill#1: Q: baritone/silence/soprano - DWT? t f time value

CMU SCS Copyright: C. Faloutsos (2013)121 Wavelets - Drill#1: t f time value Q: baritone/silence/soprano - DWT?

CMU SCS Copyright: C. Faloutsos (2013)122 Wavelets - Drill#2: Q: spike - DWT? t f

CMU SCS Copyright: C. Faloutsos (2013)123 Wavelets - Drill#2: t f Q: spike - DWT?

CMU SCS Copyright: C. Faloutsos (2013)124 Wavelets - Drill#3: Q: weekly + daily periodicity, + spike - DWT? t f

CMU SCS Copyright: C. Faloutsos (2013)125 Wavelets - Drill#3: Q: weekly + daily periodicity, + spike - DWT? t f

CMU SCS Copyright: C. Faloutsos (2013)126 Wavelets - Drill#3: Q: weekly + daily periodicity, + spike - DWT? t f

CMU SCS Copyright: C. Faloutsos (2013)127 Wavelets - Drill#3: Q: weekly + daily periodicity, + spike - DWT? t f

CMU SCS Copyright: C. Faloutsos (2013)128 Wavelets - Drill#3: Q: weekly + daily periodicity, + spike - DWT? t f

CMU SCS Copyright: C. Faloutsos (2013)129 Wavelets - Drill#3: Q: DFT? t f t f DWT DFT

CMU SCS Copyright: C. Faloutsos (2013)130 Wavelets - Drill: Let’s see it live: delta; cosine; cosine2; chirp Haar vs Daubechies-4, -6, etc

CMU SCS Copyright: C. Faloutsos (2013)131 Delta? x(0)=1; x(t)= 0 elsewhere t f

CMU SCS Copyright: C. Faloutsos (2013)132 Delta? x(0)=1; x(t)= 0 elsewhere t f

CMU SCS Copyright: C. Faloutsos (2013)133 2 cosines? x(t) = cos( 2 * pi * 4 * t / 1024 ) + 5 * cos( 2 * pi * 8 * t / 1024 ) t f

CMU SCS Copyright: C. Faloutsos (2013)134 2 cosines? x(t) = cos( 2 * pi * 4 * t / 1024 ) + 5 * cos( 2 * pi * 8 * t / 1024 ) t f Which one is for freq.=4?

CMU SCS Copyright: C. Faloutsos (2013)135 2 cosines? x(t) = cos( 2 * pi * 4 * t / 1024 ) + 5 * cos( 2 * pi * 8 * t / 1024 ) t f Which one is for freq.=4? f~4 f~8

CMU SCS Copyright: C. Faloutsos (2013)136 Chirp? x(t) = cos( 2 * pi * t * t / 1024 ) t f

CMU SCS Copyright: C. Faloutsos (2013)137 Chirp? x(t) = cos( 2 * pi * t * t / 1024 ) t f

CMU SCS Copyright: C. Faloutsos (2013)138 Chirp? x(t) = cos( 2 * pi * t * t / 1024 ) t f SWFT?

CMU SCS Copyright: C. Faloutsos (2013)139 Chirp? x(t) = cos( 2 * pi * t * t / 1024 ) t f SWFT

CMU SCS More examples (BGP updates) Copyright: C. Faloutsos (2013)140 BGP-lens: Patterns and Anomalies in Internet Routing Updates B. Aditya Prakash et al, SIGKDD 2009 time #updates

CMU SCS More examples (BGP updates) Copyright: C. Faloutsos (2013)141 freq. Low freq.: omitted t f

CMU SCS More examples (BGP updates) Copyright: C. Faloutsos (2013)142 freq. ??

CMU SCS More examples (BGP updates) Copyright: C. Faloutsos (2013)143 ‘Prolonged spike’ t f freq.

CMU SCS More examples (BGP updates) Copyright: C. Faloutsos (2013)144 freq. 15K msgs, for several hours: 6pm-4am

CMU SCS Copyright: C. Faloutsos (2013)145 Wavelets - Drill Or use ‘R’, ‘octave’ or ‘matlab’ – R: install.packages("wavelets") library("wavelets") X1<-c(1,2,3,4,5,6,7,8) dwt(X1, n.levels=3, filter=“d4”) mra(X1, n.levels=3, filter=“d4”)

CMU SCS Copyright: C. Faloutsos (2013)146 Wavelets - k-dimensions? easily defined for any dimensionality (like DFT, DCT)

CMU SCS Copyright: C. Faloutsos (2013)147 Wavelets - example Wavelets achieve *great* compression: ,000 # coefficients

CMU SCS Copyright: C. Faloutsos (2013)148 Wavelets - intuition Edges (horizontal; vertical; diagonal)

CMU SCS Copyright: C. Faloutsos (2013)149 Wavelets - intuition Edges (horizontal; vertical; diagonal) recurse

CMU SCS Copyright: C. Faloutsos (2013)150 Wavelets - intuition Edges (horizontal; vertical; diagonal) ml

CMU SCS Copyright: C. Faloutsos (2013)151 Advantages of Wavelets Better compression (better RMSE with same number of coefficients) closely related to the processing of the mammalian eye and ear Good for progressive transmission handle spikes well usually, fast to compute (O(n)!)

CMU SCS Copyright: C. Faloutsos (2013)152 Overall Conclusions DFT, DCT spot periodicities DWT : multi-resolution - matches processing of mammalian ear/eye better All three: powerful tools for compression, pattern detection in real signals All three: included in math packages (matlab, R, mathematica,... )

CMU SCS Copyright: C. Faloutsos (2013)153 Resources Numerical Recipes in C: great description, intuition and code for all three tools xwpl: open source wavelet package from Yale, with excellent GUI.

CMU SCS Copyright: C. Faloutsos (2013)154 Resources (cont’d) (defunct?) sanalyser/FFTSpectrumAnalyser.html : Nice java appletshttp:// sanalyser/FFTSpectrumAnalyser.html : voice frequency analyzer (needs microphone – MSwindows only)

CMU SCS Copyright: C. Faloutsos (2013)155 Resources (cont’d) www-dsp.rice.edu/software/EDU/mra.shtml (wavelets and other demos) R (‘install.packages(“wavelets”) )