11 - DFT example: Difference between revisions
Jump to navigation
Jump to search
New page: Do an example using matlab of a DFT |
No edit summary |
||
Line 1: | Line 1: | ||
Do an example using matlab of a DFT | Do an example using matlab of a DFT | ||
For my example I looked into cross correlation. We needed this for our project so it seemed appropriate. | |||
To test this I created a sin wave and shifted it over by 100 zeros then I shifted the original function one zero at a time toward my new function each time taking the dot product between the two. As expected and seen in the graph the peak was when I had shifted it 100 times then the curve went back down as it shifted past that point. | |||
close all; | |||
clear all; | |||
N = 100; | |||
t = 0:1000; | |||
song1 = sin(t*pi/100); | |||
song2 = [zeros(1,N) song1]'; | |||
song1 = [song1 zeros(1,N)]'; | |||
for n = 1:N | |||
a(n) = song1'*song2; | |||
song1 = circshift(song1,1); | |||
end | |||
for x = 1:N | |||
b(x) = song1'*song2; | |||
song1 = circshift(song1,1); | |||
end | |||
c = [a b] | |||
plot(c) |
Revision as of 21:19, 14 December 2009
Do an example using matlab of a DFT
For my example I looked into cross correlation. We needed this for our project so it seemed appropriate. To test this I created a sin wave and shifted it over by 100 zeros then I shifted the original function one zero at a time toward my new function each time taking the dot product between the two. As expected and seen in the graph the peak was when I had shifted it 100 times then the curve went back down as it shifted past that point.
close all; clear all; N = 100; t = 0:1000; song1 = sin(t*pi/100); song2 = [zeros(1,N) song1]'; song1 = [song1 zeros(1,N)]'; for n = 1:N a(n) = song1'*song2; song1 = circshift(song1,1); end for x = 1:N b(x) = song1'*song2; song1 = circshift(song1,1); end c = [a b] plot(c)