clear all
clf
set(0,'defaultaxesfontsize',20);
n1=-150:150;
n1=n1+0.000000001;
n0=n1;
%NL=16;
NL=12;
wc=pi; %+(pi/8);
% wc=pi; n1=n1+0.5;
% h1=sin(wc*(n1))./(pi*(n1));
w1=pi/4;  w2=pi/2; w3=3*pi/4;
%w3=5*pi/8;
%w1=pi/8;  w2=3*pi/8; w3=pi/2;  %trapezoids
%w1=pi/3;  w2=2*pi/3; w3=pi;
%w1=pi/4;  w2=3*pi/4; w3=pi;
%
%w1=pi; nd=1;
mi=0;
csq=2*j*sqrt(2);
%h1=sin(w1*(n1))./(pi*(n1))+ sin(w2*(n1))./(pi*(n1));
%h1=2*sin(w1*n1)./(pi*n1)-4*sin(w2*n1)./(pi*n1)+3*sin(w3*n1)./(pi*n1);
%h1=sin(w1*n1)./(pi*n1)+sin(w2*n1)./(pi*n1)+sin(w3*n1)./(pi*n1);
%h1=2*j*csq*(sin(w1*(n1-0.5))./(pi*(n1-0.5))-sin(w1*(n1+0.5))./(pi*(n1+0.5)));
%h1=csq*(sin(w1*(n1-nd))./(pi*(n1-nd))-sin(w1*(n1+nd))./(pi*(n1+nd)));
%h1=sin(wc*(n1-0.5))./(pi*(n1-0.5));
%h1=8*((sin(w1*(n1+mi*NL))./(pi*(n1+mi*NL))).^2).*cos(w3*(n1+mi*NL));
%h1=3*16*j*(sin(w1*(n1+mi*NL))./(pi*(n1+mi*NL))).*(sin(w2*(n1+mi*NL))./(pi*(n1+mi*NL))).*sin(w3*(n1+mi*NL));
%h1=12*(sin(w1*(n1+mi*NL))./(pi*(n1+mi*NL))).*(sin(w2*(n1+mi*NL))./(pi*(n1+mi*NL)));
h1=sin(w1*n0)./(pi*n0)+sin(w2*n0)./(pi*n0)+sin(w3*n0)./(pi*n0);
%h1=2*sin(w1*n0)./(pi*n0)-4*sin(w2*n0)./(pi*n0)+3*sin(w3*n0)./(pi*n0);
n0=-150:150;
n0=n1+0.00000001;
wo=linspace(0,2*pi-(2*pi/1024),1024);
Hfft=real(fft(h1,1024).*exp(j*150*wo));
plot(wo,Hfft,'Linewidth',3)
axis([0 2*pi -max(Hfft)-1 max(Hfft)+1])
hold on
for mi=1:250,
%h1=h1+12*(sin(w1*(n1+mi*NL))./(pi*(n1+mi*NL))).*(sin(w2*(n1+mi*NL))./(pi*(n1+mi*NL)));
%h1=h1+12*(sin(w1*(n1-mi*NL))./(pi*(n1-mi*NL))).*(sin(w2*(n1-mi*NL))./(pi*(n1-mi*NL)));
%h1=h1+sin(wc*(n1-0.5+mi*NL))./(pi*(n1-0.5+mi*NL)) + sin(wc*(n1-0.5-mi*NL))./(pi*(n1-0.5-mi*NL));
%h1=h1+8*((sin(w1*(n1+mi*NL))./(pi*(n1+mi*NL))).^2).*cos(w3*(n1+mi*NL));
%h1=h1+8*((sin(w1*(n1-mi*NL))./(pi*(n1-mi*NL))).^2).*cos(w3*(n1-mi*NL));
% h1=h1+sin(w3*(n1+mi*NL))./(pi*(n1+mi*NL)) + sin(w3*(n1-mi*NL))./(pi*(n1-mi*NL));
h1=h1+sin(w1*(n1+mi*NL))./(pi*(n1+mi*NL)) + sin(w1*(n1-mi*NL))./(pi*(n1-mi*NL));
h1=h1+sin(w2*(n1+mi*NL))./(pi*(n1+mi*NL)) + sin(w2*(n1-mi*NL))./(pi*(n1-mi*NL));
h1=h1+sin(w3*(n1+mi*NL))./(pi*(n1+mi*NL)) + sin(w3*(n1-mi*NL))./(pi*(n1-mi*NL));
%h1=h1+2*sin(w1*(n1+mi*NL))./(pi*(n1+mi*NL)) + 2*sin(w1*(n1-mi*NL))./(pi*(n1-mi*NL));
%h1=h1-4*sin(w2*(n1+mi*NL))./(pi*(n1+mi*NL)) - 4*sin(w2*(n1-mi*NL))./(pi*(n1-mi*NL));
%h1=h1+3*sin(w3*(n1+mi*NL))./(pi*(n1+mi*NL)) + 3*sin(w3*(n1-mi*NL))./(pi*(n1-mi*NL));
%h1=h1+csq*(sin(w1*(n1-nd+mi*NL))./(pi*(n1-nd+mi*NL))-sin(w1*(n1+nd+mi*NL))./(pi*(n1+nd+mi*NL)));
%h1=h1+csq*(sin(w1*(n1-nd-mi*NL))./(pi*(n1-nd-mi*NL))-sin(w1*(n1+nd-mi*NL))./(pi*(n1+nd-mi*NL)));
%h1=h1+sin(w1*(n1+mi*NL))./(pi*(n1+mi*NL)) + sin(w2*(n1+mi*NL))./(pi*(n1+mi*NL));
%h1=h1+sin(w1*(n1-mi*NL))./(pi*(n1-mi*NL)) + sin(w2*(n1-mi*NL))./(pi*(n1-mi*NL));
%h1=h1+3*16*j*(sin(w1*(n1-mi*NL))./(pi*(n1-mi*NL))).*(sin(w2*(n1-mi*NL))./(pi*(n1-mi*NL))).*sin(w3*(n1-mi*NL));
%h1=h1+3*16*j*(sin(w1*(n1+mi*NL))./(pi*(n1+mi*NL))).*(sin(w2*(n1+mi*NL))./(pi*(n1+mi*NL))).*sin(w3*(n1+mi*NL));
end
N=NL;
x0=h1(151:151+N-1);
Xk0=round(real(fft(x0,N)))
wk=(2*pi/NL)*[0:N-1];
plot(wk,real(Xk0),'rx','MarkerSize',20,'LineWidth',4);
hold off
% x1=exp(j*(2*pi/N)*[0:N-1]).*x0;
% Xk1=round(real(fft(x1,N)))
% %
% Xk2=(real(fft(Xk0,N)))
% N*x0



