function [line,h,y,db]=test(M) %hanning if 0 j=0; for n=0:1:M-1 j=j+1; h(j)= (1- cos( (2*pi*n)/(M-1) ) )/2; if(n ~= (M-1)/2) h(j)= h(j).*( sin( 2*(n-((M-1)/2))) - sin(n-((M-1)/2))); h(j)= h(j)./(pi*(n-((M-1)/2))); end end; y=fft(h,512); y=y/M; j=0; for n=0:1:255 j=j+1; db(j)=20*log10(abs(y(j))); end; line=linspace(0,pi,256); y=y(1:256); end; %hamming if 0 j=0; for n=0:1:M-1 j=j+1; h(j)= (.54- .46*cos( (2*pi*n)/(M-1))); if(n ~= (M-1)/2) h(j)= h(j).*( sin( 2*(n-((M-1)/2))) - sin(n-((M-1)/2))); h(j)= h(j)./(pi*(n-((M-1)/2))); end end; y=fft(h,1024); y=y/M; % Normalize it j=0; for n=0:1:512 j=j+1; db(j)=20*log10(abs(y(j))); end; line=linspace(0,.5,512); y=y(1:512); end; % rectangulare case if 0 j=0; for n=0:1:M-1 j=j+1; if ( n ~= 12) h(j)= (sin(2*n-(M-1)/2) - sin(n-(M-1)/2) )./(pi*(n-(M-1)/2)); else h(j)= h(j-1); end end; y=fft(h,512); j=0; for n=0:1:255 j=j+1; db(j)=20*log10(abs(y(j))); end; y=y(1:256); end; %hamming BOOK page 586 if 1 j=0; for n=0:1:M-1 j=j+1; h1(j)= (.54- .46*cos( (2*pi*n)/(M-1))); end; j=0; for n=0:1:M-1 j=j+1; if(n ~= (M-1)/2) temp= n- ((M-1)/2); h2(j)= (sin(.2*pi*temp))/(pi*temp); else h2(j)= h2(j-1); end end H1=fft(h1,256); H2=fft(h2,256); y=conv(H1,H2); y=y/M; %h= h1.*h2; %t1=fft(h2,512); %t1=t1(1:256); %plot(linspace(0,.5,256),abs(t1)); %y=fft(h,1024); for n=1:1:128 db(n)=20*log10(abs(y(n))); end; line=linspace(0,.5,128); end; %just the hamming window alone if 0 j=0; for n=0:1:M-1 j=j+1; h(j)= (.54- .46*cos( (2*pi*n)/(M-1))); end; y=fft(h,1024); y=y/M; for n=1:1:512 db(n)=20*log10(y(n)); end; line=linspace(0,.5,512); end; %just the hamming alone BOOK page 586 if 0 j=0; for n=0:1:M-1 j=j+1; h(j)= (.54- 0.46*cos( (2*pi*n)/(M-1)) ); end; y=fft(h,512); y=y/M; j=0; for n=0:1:511 j=j+1; db(j)=20*log10(abs(y(j))); end; line=linspace(0,.5,256); y=y(1:256); db=db(1:256); end; %just the rectangulare window alone if 0 j=0; for n=0:1:M-1 j=j+1; h(j)=1; end y=fft(h,512); y=y/M; for n=1:1:256 db(n)=20*log10(abs(y(n))); end; line=linspace(0,.5,256); end; %rectangular BOOK page 586 if 0 j=0; for n=0:1:M-1 j=j+1; if(n ~= (M-1)/2) h(j)= ( sin( .2*pi*(n-((M-1)/2)) ))./(pi*(n-((M-1)/2))); else h(j)= h(j-1); end; end; y=fft(h,512); j=0; for n=0:1:255 j=j+1; db(j)=20*log10(abs(y(j))); end; line=linspace(0,pi,256); y=y(1:256); end;