lecture 16 discrete fourier transform spherical harmonics
play

Lecture 16: Discrete Fourier Transform, Spherical Harmonics - PowerPoint PPT Presentation

Lecture 16: Discrete Fourier Transform, Spherical Harmonics COMPSCI/MATH 290-04 Chris Tralie, Duke University 3/8/2016 COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics Announcements Mini Assignment 3 due


  1. Lecture 16: Discrete Fourier Transform, Spherical Harmonics COMPSCI/MATH 290-04 Chris Tralie, Duke University 3/8/2016 COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  2. Announcements ⊲ Mini Assignment 3 due Sunday 3/13 11:55PM ⊲ Group Assignment 2 Out around Friday/Saturday, due Monday 3/28 ⊲ Final projects assigned, first milestone due Wednesday 4/6 ⊲ Midterm Thursday COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  3. Table of Contents ◮ Numpy Squared Euclidean Distances ⊲ Discrete Fourier Transform ⊲ Spherical Harmonics COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  4. Numpy: More Broadcasting import numpy as np import matplotlib.pyplot as plt X = np.arange(4) Y = np.arange(6) Z = X[:, None] + Y[None, :] print Z COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  5. Squared Euclidean Distances in Matrix Form Notice that b || 2 = ( � a − � a − � a − � || � b ) · ( � b ) b || 2 = � a − � a + � b · � a · � || � a · � b − 2 � b COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  6. Squared Euclidean Distances in Matrix Form Notice that b || 2 = ( � a − � a − � a − � || � b ) · ( � b ) b || 2 = � a − � a + � b · � a · � || � a · � b − 2 � b Given points clouds X and Y expressed as 2 × M and 2 × N matrices, respectively, write code to compute an M × N matrix D so that D [ i , j ] = || X [: , i ] − Y [: , j ] || 2 Without using any for loops! Can use for ranking with Euclidean distance or D2 shape histograms, for example COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  7. Brute Force Nearest Neighbors import numpy as np import matplotlib.pyplot as plt t = np.linspace(0, 2*np.pi, 100) X = np.zeros((2, len (t))) X[0, :] = t X[1, :] = np.cos(t) Y = np.zeros((2, len (t))) Y[0, :] = t Y[1, :] = np.sin(t**1.2) ##FILL THIS IN TO COMPUTE DISTANCE MATRIX D idx = np.argmin(D, 1) #Find index of closest point in Y to point in X plt.plot(X[0, :], X[1, :], ’.’) plt.hold(True) plt.plot(Y[0, :], Y[1, :], ’.’, color = ’red’) for i in range ( len (idx)): plt.plot([X[0, i], Y[0, idx[i]]], [X[1, i], Y[1, idx [i]]], ’b’) plt.axes().set_aspect(’equal’, ’datalim’); plt.show() COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  8. Mini Assignment 3 API def getCentroid(PC): return np.zeros((3, 1)) #Dummy value def getCorrespondences(X, Y, Cx, Cy, Rx): return np.zeros(X.shape[1], dtype=np.int64) #dummy value def getProcrustesAlignment(X, Y, idx): return (Cx, Cy, R) #what the ICP algorithm did def doICP(X, Y, MaxIters): CxList = [np.zeros((3, 1))] CyList = [np.zeros((3, 1))] RxList = [np.eye(3)] #TODO: Fill the rest of this in return (CxList, CyList, RxList) COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  9. Table of Contents ⊲ Numpy Squared Euclidean Distances ◮ Discrete Fourier Transform ⊲ Spherical Harmonics COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  10. Discrete Cosine Integration COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  11. Discrete Cosine Integration What is N = kT cos 2 ( 2 π t � T ) t = 1 ? Note that cos 2 ( A ) = 1 + cos ( 2 A ) 2 COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  12. Discrete Cosine Integration COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  13. Discrete Cosine Integration Why is � N = kT cos ( 2 π t T ) sin ( 2 π t T ) zero? t = 1 Note that cos ( A ) sin ( A ) = 1 2 sin ( 2 A ) COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  14. Discrete Cosine Integration COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  15. Discrete Cosine Integration Why does the product of two different cosines integrate to zero? cos ( A + B ) = cos ( A ) cos ( B ) − sin ( A ) sin ( B ) COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  16. Discrete Cosine Integration Why does the product of two different cosines integrate to zero? cos ( A + B ) = cos ( A ) cos ( B ) − sin ( A ) sin ( B ) Hint: cos ( A + B ) + cos ( A − B ) =? COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  17. Discrete Cosine Integration COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  18. Discrete Cosine Integration Dot product interpretation � � 2 π � � 2 π 2 � � 2 π N �� � s 1 = 1 , cos , cos . . . , cos T 1 T 1 T 1 � � 2 π � � 2 π 2 � � 2 π N �� � s 2 = 1 , cos , cos . . . , cos T 2 T 2 T 2 Dot product is linear! s 2 · ( a � � s 1 + b � s 2 ) = a � s 1 · � s 2 + b � s 2 · � s 2 Can use this type of dot product / integration to detect / test for the presence of different frequencies COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  19. Cosine Phase Separation The general form of a sinusoid is A cos ( ω t + φ ) A cos ( ω t + φ ) = A cos ( φ ) cos ( ω t ) − A sin ( φ ) sin ( ω t ) COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  20. Cosine Phase Separation The general form of a sinusoid is A cos ( ω t + φ ) A cos ( ω t + φ ) = A cos ( φ ) cos ( ω t ) − A sin ( φ ) sin ( ω t ) cos ( ω t )( A cos ( ω t + φ )) = A cos ( φ ) cos 2 ( ω t ) − A cos ( ω t ) sin ( φ ) sin ( ω t ) COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  21. Cosine Phase Separation The general form of a sinusoid is A cos ( ω t + φ ) A cos ( ω t + φ ) = A cos ( φ ) cos ( ω t ) − A sin ( φ ) sin ( ω t ) cos ( ω t )( A cos ( ω t + φ )) = A cos ( φ ) cos 2 ( ω t ) − A cos ( ω t ) sin ( φ ) sin ( ω t ) ⊲ The “cosine component” of the sinusoid is A cos ( φ ) ⊲ The “sinusoid component” of the sinusoid is A sin ( φ ) COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  22. Cosine Phase Separation The general form of a sinusoid is A cos ( ω t + φ ) A cos ( ω t + φ ) = A cos ( φ ) cos ( ω t ) − A sin ( φ ) sin ( ω t ) cos ( ω t )( A cos ( ω t + φ )) = A cos ( φ ) cos 2 ( ω t ) − A cos ( ω t ) sin ( φ ) sin ( ω t ) ⊲ The “cosine component” of the sinusoid is A cos ( φ ) ⊲ The “sinusoid component” of the sinusoid is A sin ( φ ) ⊲ The magnitude A of this sinusoid is ( A cos ( φ )) 2 + ( A sin ( φ )) 2 = A (sanity check) � COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  23. Sinusoidal Coordinates Basis For a signal of length N (let N be odd for the moment), define the following matrix 1 1 1 1   . . . cos ( 2 π cos ( 2 2 π cos (( N − 1 ) 2 π 1 N ) N ) N )  . . .  sin ( 2 π sin ( 2 2 π sin (( N − 1 ) 2 π  0 N ) N ) N )    . . .  cos ( 4 π cos ( 2 4 π cos (( N − 1 ) 4 π  1 N ) N ) N )   . . .   sin ( 4 π sin ( 2 4 π sin (( N − 1 ) 4 π 0 N ) N ) N )   F =  . . .    . . . .   . . . .   . . . .   . . .   cos ( (( N − 1 ) π cos ( 2 ( N − 1 ) π cos (( N − 1 ) ( N − 1 ) π  1 ) ) )   N N . . . N  sin ( ( N − 1 ) π sin ( 2 ( N − 1 ) π sin (( N − 1 ) ( N − 1 ) π 0 ) ) ) N N N . . . COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  24. Each row is perpendicular to each other row. This means that Fx Is a high dimensional rotation! This means these sinusoids form a basis for all signals of length N. This is known as the Discrete Fourier Transform COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  25. Discrete Fourier Transform: Example Show sinusoidal addition COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  26. Discrete Fourier Transform: Example Show sinusoidal addition COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  27. Discrete Fourier Transform: Formal Definition The formal definition of the Discrete Fourier Transform uses complex numbers to store the phase, for convenience N − 1 X [ n ] e − i 2 π k � N n F [ k ] = t = 0 N − 1 N − 1 � 2 π k � � − 2 π k � � � F [ k ] = X [ n ] cos N n + i X [ n ] sin N n t = 0 t = 0 F [ k ] = Re ( F [ k ]) + i Imag ( F [ k ]) COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  28. Inverse Discrete Fourier Transform DFT decomposed X into a bunch of sinusoids, now add them back together N − 1 F [ k ] e i 2 π k � N n X [ n ] = k = 0 COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

  29. Functions on The Circle COMPSCI/MATH 290-04 Lecture 16: Discrete Fourier Transform, Spherical Harmonics

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend