%% =================================================================
%% DIGITALIZACION DE SENALES DE DISTINTAS FRECUENCIAS
%% Las frecuencias varian de 0 a la frecuencia de muestreo fM.
%% Luego de la frecuencia de Nyquist fM/2, el aliasing se hace evidente. 
%% =================================================================

clear all ; close all % Limpio variables
clf;                  % Limpio figuras

fM = 500     % Frecuencia de muestreo, [Hz].
fN = 0.5*fM  % Frecuencia de Nyquist (A partir de aqui, ALIASING)
dt = 1.0/fM  % Intervalo de muestreo,   [s].

t  = (0:dt:0.04) ; % Vector de tiempos asociado a dt

%% A fines de comparar con una senal bien muestreada:
fm2  = 10000;         % Frecuencia de muestreo para evitar aliasing, Hz.
dt2  = 1/fm2;         % Intervalo de muestreo para evitar aliasing, s.
t2   = (0:dt2:0.04);  % Vector de tiempos asociado a dt2.
%%


f = [fN/5 fM]; % Frecuencias para generar sinusoides.
suma1=0;
suma2=0;
for i=1:length(f)
     
    s = cos(2*pi*f(i)*t) ; % Sinusoide de frecuencia f(i)
    suma1=suma1+s;
    ss = cos(2*pi*f(i)*t2);
    suma2=suma2+ss;
    
    subplot(3,1,i)
    hold on
    plot(t2,ss,';senal;-b')    % Grafico (senal bien muestreada)

    plot(t,s,';muestreado;or') % Grafico (puntos de la senal muestreada)
 %  plot(t,s,'-g')             % Grafico (interpolacion lineal entre los puntos)

    axis([0,0.04,-2,2]) ; 
    key = num2str(f(i)); 
    text(0.0008,1.8,strcat('f=',key,'Hz')) % Etiqueta del gráfico
    hold off
end

    subplot(3,1,i+1)
    title("resultado")
    hold on
    plot(t2,suma2,'-b')  % Grafico (senal bien muestreada)
    plot(t,suma1,'or')      % Grafico (puntos de la senal muestreada)
    plot(t,suma1,'-g')      % Grafico (interpolacion lineal entre los puntos)
    axis([0,0.04,-2,2]) ; 
    hold off    

% Genero eps y lo guardo
%print(strcat('nyquist.eps'),'-deps')
