% =================================================================
% TEOREMA DEL CORRIMIENTO DE FASE
% =================================================================

clear all;close all;

% Dato de entrada
h = [2 1 1/2 3]

% Desplazamiento (retardada: tau > 0; adelantada: tau < 0)

tau = -1

% Calculo TDF
H = fft(h)

% Aplico corrimiento de fase

N = length(h);

for k = 1 : N
  H_shift(k) = H(k) * exp(-1i * 2 * pi * tau * (k-1) / N);
end

H_shift

% Vuelvo al tiempo y encuentro la señal corrida tau unidades de tiempo

h_shift = real(ifft(H_shift))

figure(1)
subplot(1,2,1)

stem(h,'b')
title('h[n]')
xlabel('n')
axis([0 N+1 -0.5 1.2*max(h)])

subplot(1,2,2)
stem(h_shift,'r')
title('h[n-tau]')
xlabel('n')
axis([0 N+1 -0.5 1.2*max(h)])
