%% =================================================================
%% OPERADOR DE PROMEDIO PESADO
%% =================================================================
 
clear all; % Limpiar todas las variables definidas
clf;       % Limpio gráficos

% Defino el operador de promedio pesado
h = [.25 .5 .25];

% Defino la cantidad de muestras que tendrá la TDF
M = 3;

% Hago el zero padding si es necesario
if (M>3)
  h(M) = 0;
endif

% Calculo la TDF del operador y tomo el espectro de amplitud
H = abs(fft(h));

% Defino el paso de la frec. ang. digital para graficar
dw = 2*pi/M;

% Grafico el operador
subplot(2,1,1);
stem(-1:M-2,h,'b'); hold on
plot(-1:M-2,h,'bo'); hold off
title('Operador promedio pesado')
xlabel('Muestra n')
ylabel('h_n')
axis([-1.5,M-1.5,0,0.8])
xt = [-1 0 1];
set(gca,"xtick",xt)

% Grafico el espectro de amplitud
subplot(2,1,2);
stem((0:M-1)*dw,H,'r'); hold on
plot((0:M-1)*dw,H,'ro'); hold off
xlabel('Frecuencia {/Symbol w}')
ylabel('|H_k({/Symbol w})|')
axis([-0.5,2*pi+0.5,0,1.2])
xt = 0:pi/2:2*pi;
xtlabel=["0";"{/Symbol p}/2";"{/Symbol p}";"3/2{/Symbol p}";"{/Symbol 2p}"];
set(gca,"xtick",xt,"xticklabel",xtlabel);

% Guardo un .eps con el gráfico generado:
print('promedio.eps','-depsc');

