%% ==================================================================
%% EL TEOREMA DEL MUESTREO Y LA FRECUENCIA DE NYQUIST
%%
%% Se generan senales de frecuencia angular digital entre (0,2*pi).
%% Notar que a partir de la frecuencia de Nyquist (pi) las señales se 
%% encuentran aliadas con una señal de frecuencia entre 0 y pi.
%% ==================================================================

clear;clf;close;

% Defino el período T para los gráficos

wd = pi/4 ;
T  = 2*pi/wd;

for w0 = pi/10:pi/10:2*pi   % Comienzo loop en frecuencia

  w0  % Escribo la frencuencia angular

  % ---------------------
  % SEÑAL EN TIEMPO
  % ---------------------

  n = (0:1:6*T);
  s = sin(w0*n);
  N = length(s);

  % ---------------------
  % ESPECTROS DE AMPLITUD
  % ---------------------

  % Hago zero padding y calculo el espectro

  s(1024) = 0;
  Npad    = length(s);
  wpad    = (0:2*pi/Npad:2*pi*(1-1/Npad));
  S       = abs(fft(s));

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

  % En tiempo (respuesta impulsiva)
  
  subplot(2,1,1)
  stem(s(1:N),'Linewidth',1.5); hold on
  plot(s(1:N),'g','Linewidth',1); hold off
  axis([0,N-1,-1.2,1.2])
  title('Senal')

  % En frecuencia (espectro de amplitud)
  
  subplot(2,1,2)
  plot(wpad,S,'r','Linewidth',1)
  title('Espectro de amplitud')
  axis([0,2*pi,-5,max(S)+1])
  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);
  
  sleep(1.2)

end         % Finalizo loop en frecuencia



