clear all; close all %NoteVec = [ 27.500 29.135 30.863 32.703 34.648 36.708 38.891 41.203 43.654 46.249 48.999 51.913... % 55.000 58.270 61.735 65.406 69.269 73.416 77.782 82.407 87.307 92.499 97.999 103.830... % 110.000 116.540 123.470 130.810 138.590 146.830 155.560 164.810 174.610 185.000 196.000 207.650... % 220.000 233.080 246.950 261.630 277.180 293.660 311.130 329.630 349.230 369.990 392.000 415.300... % 440.000 466.160 493.880 523.550 554.370 587.330 622.260 659.260 698.460 739.990 783.990 830.610... % 880.000 932.330 987.770 1046.500 1108.700 1174.700 1244.500 1318.500 1396.900 1480.000 1568.000 1661.200... % 1760.000 1864.700 1975.500 2093.000 2217.500 2349.300 2489.000 2637.000 2793.000 2960.000 3136.000 3322.400... % 3520.000 3729.300 3951.100 4186.000... % ]; load handel v = y'/2; %plot((1:length(v))/Fs,v); %xlabel('Time [sec]'); %ylabel('Amplitude'); %title('Signal of Interest, v(n)'); n = length(v); L = n./Fs; t2=linspace(0,L,n+1); t=t2(1:n); k=(2*pi/L)*[0:n/2-1 -n/2:-1]; ks=fftshift(k); width = [4 2 1 1/2 1/4 1/8 1/16 1/32]; tstep = 1.25; tslide = 1/Fs:tstep:n/Fs; Sgt_spec1 = zeros(4,8,length(tslide),16384); for k = 1:length(width) for j = 1:length(tslide) g_gauss = exp(-(t-tslide(j)).^2./(2.*width(k).^2)); g_rect = rectpuls(t-tslide(j),2.*width(k)); g_mxhat = (1-((t-tslide(j)).^2)./(width(k).^2)).*exp(-(t-tslide(j)).^2./(2.*width(k).^2)); g_sinc = 2.*sinc(2./width(k).*(t-tslide(j))) - sinc(1./width(k).*(t-tslide(j))); Sg_gauss = g_gauss.*v; Sg_rect = g_rect.*v; Sg_mxhat = g_mxhat.*v; Sg_sinc = g_sinc.*v; Sgt_gauss = abs(fftshift(fft(Sg_gauss))); Sgt_rect = abs(fftshift(fft(Sg_rect))); Sgt_mxhat = abs(fftshift(fft(Sg_mxhat))); Sgt_sinc = abs(fftshift(fft(Sg_sinc))); Sgt_spec1(1,k,j,:) = Sgt_gauss((floor(end/2)+1):(floor(end/2)+16384)); Sgt_spec1(2,k,j,:) = Sgt_rect((floor(end/2)+1):(floor(end/2)+16384)); Sgt_spec1(3,k,j,:) = Sgt_mxhat((floor(end/2)+1):(floor(end/2)+16384)); Sgt_spec1(4,k,j,:) = Sgt_sinc((floor(end/2)+1):(floor(end/2)+16384)); [k j] end end tstep = .125; tslide = 1/Fs:tstep:n/Fs; Sgt_spec2 = zeros(4,8,length(tslide),16384); for k = 1:length(width) for j = 1:length(tslide) g_gauss = exp(-(t-tslide(j)).^2./(2.*width(k).^2)); g_rect = rectpuls(t-tslide(j),width(k)); g_mxhat = (1-((t-tslide(j)).^2)./(width(k).^2)).*exp(-(t-tslide(j)).^2./(2.*width(k).^2)); g_sinc = 2.*sinc(2./width(k).*(t-tslide(j))) - sinc(1./width(k).*(t-tslide(j))); Sg_gauss = g_gauss.*v; Sg_rect = g_rect.*v; Sg_mxhat = g_mxhat.*v; Sg_sinc = g_sinc.*v; Sgt_gauss = abs(fftshift(fft(Sg_gauss))); Sgt_rect = abs(fftshift(fft(Sg_rect))); Sgt_mxhat = abs(fftshift(fft(Sg_mxhat))); Sgt_sinc = abs(fftshift(fft(Sg_sinc))); Sgt_spec2(1,k,j,:) = Sgt_gauss((floor(end/2)+1):(floor(end/2)+16384)); Sgt_spec2(2,k,j,:) = Sgt_rect((floor(end/2)+1):(floor(end/2)+16384)); Sgt_spec2(3,k,j,:) = Sgt_mxhat((floor(end/2)+1):(floor(end/2)+16384)); Sgt_spec2(4,k,j,:) = Sgt_sinc((floor(end/2)+1):(floor(end/2)+16384)); [k j] end end tstep = .0125; tslide = 1/Fs:tstep:n/Fs; Sgt_spec3 = zeros(4,8,length(tslide),16384); for k = 1:length(width) for j = 1:length(tslide) g_gauss = exp(-(t-tslide(j)).^2./(2.*width(k).^2)); g_rect = rectpuls(t-tslide(j),width(k)); g_mxhat = (1-((t-tslide(j)).^2)./(width(k).^2)).*exp(-(t-tslide(j)).^2./(2.*width(k).^2)); g_sinc = 2.*sinc(2./width(k).*(t-tslide(j))) - sinc(1./width(k).*(t-tslide(j))); Sg_gauss = g_gauss.*v; Sg_rect = g_rect.*v; Sg_mxhat = g_mxhat.*v; Sg_sinc = g_sinc.*v; Sgt_gauss = abs(fftshift(fft(Sg_gauss))); Sgt_rect = abs(fftshift(fft(Sg_rect))); Sgt_mxhat = abs(fftshift(fft(Sg_mxhat))); Sgt_sinc = abs(fftshift(fft(Sg_sinc))); Sgt_spec3(1,k,j,:) = Sgt_gauss((floor(end/2)+1):(floor(end/2)+16384)); Sgt_spec3(2,k,j,:) = Sgt_rect((floor(end/2)+1):(floor(end/2)+16384)); Sgt_spec3(3,k,j,:) = Sgt_mxhat((floor(end/2)+1):(floor(end/2)+16384)); Sgt_spec3(4,k,j,:) = Sgt_sinc((floor(end/2)+1):(floor(end/2)+16384)); [k j] end end tstep1 = 1.25; tslide1 = 1/Fs:tstep1:n/Fs; tstep2 = 0.125; tslide2 = 1/Fs:tstep2:n/Fs; tstep3 = .0125; tslide3 = 1/Fs:tstep3:n/Fs; save('./AMath582hw3p1.mat','ts*','ks','Sgt_spec*','-v7.3')