% =================================================================
% Funcion cajon (boxcar) discreto centrado y su respuesta en frecuencia.
% Es interesante comparar estas funciones con la funcion cajon
% continua y su transformada de Fourier a medida que M aumenta.
%
% =================================================================
clear all;close all

M = 5;

L=2*M+1; % numero de muestras = 1 del cajon

% ---------------------
% boxcar discreto en un numero 3*L+1 de muestras
% ---------------------

n           = (-2*L:2*L);  % muestras

for j=1:length(n)
    if(abs(n(j))<=M)
        xn(j)   = 1;
    else
        xn(j) = 0;
    end
end
% ---------------------
% Respuesta en frecuencia del boxcar centrado discreto
% ---------------------

N  = 601; % puntos a evaluar de la rta. en frecuencia.
dw = 4*pi/N;
w  = (-N:N)*dw;
Nw = length(w);

for j=1:Nw
sum=0;
for jj=1:M    
sum = sum + cos(w(j)*jj);
end
C(j)=1+2*sum;
end

% Utilizando la función de Dirichlet expresada como cociente de sinusoides

for j=1:Nw
X(j)=L*diric(w(j),L);
end

% ---------------------
% GRAFICOS
% ---------------------


figure(1);

xt      = -2*pi:pi/2:2*pi;
xtlabel = ["-{/Symbol 2p}";"-3/2{/Symbol p}";"-{/Symbol p}";"-{/Symbol p}/2";"0";"{/Symbol p}/2";"{/Symbol p}";"3/2{/Symbol p}";"{/Symbol 2p}"];


subplot(3,1,1)
stem(n,xn,"color","g","markersize",8,"filled")
axis([-2*L +2*L -0.5 1.5])
xlabel('n')  
ylabel('x_n')  

subplot(3,1,2)

plot(w,X,'r',"linewidth",2)

set(gca,"xtick",xt,"xticklabel",xtlabel);
axis([-2*pi 2*pi -L/4 L])

xlabel('{/Symbol w}')  
ylabel('B({/Symbol w})')    

subplot(3,1,3)

plot(w,C,'b',"linewidth",2)

set(gca,"xtick",xt,"xticklabel",xtlabel);
axis([-2*pi 2*pi -L/4 L])

xlabel('{/Symbol w}')  
ylabel('C({/Symbol w})')    


