clear all
clear all
close all


%% Considere la función $x(t)=cos(2*pi*f_0*t)$ para $f_0=10$ Hz. Tome
%% muestras de $x(t)$ en el intervalo $[0,10 T]$, donde $T$ es el
%% período de la señal, a un intervalo de muestreo dado por $\Delta
%% t_2=\Delta t/k$ con $\Delta t$ dado por el criterio de Nyquist y
%% $k=1,2,4,10$. Grafique la señal muestreada $x_n$ y su espectro de
%% amplitud en frecuencia angular digital $\omega_D$ y en frecuencia $f$
%% hasta la frecuencia de Nyquist. ¿Qué observa en el espectro de
%% amplitud a medida  que $\Delta t_2$ disminuye?.
%%
%% RTA: la frecuencia de Nyquist aumenta y se agregan ceros en el
%% espectro de amplitud. No hay nueva informacion  mas alla de la
%% frecuencia de Nyquist original. En el dominio w digital, el
%% espectro de la senal se aleja de Nyquist (pi). Aqui vale la
%% observacion que un desplazamiento en el dominio w digital no
%% implica un cambio en la frecuencias de la senal, sino un cambio
%% en el dt. Para ello se contrasta con el dominio f (hZ) donde
%% puede observarse que el pico de amplitud se mantiene constante
%% en f0.


f0=10 % Hz
T=1/f0;

fS= 2*f0;  % Frecuencia de muestreo (Sampling frecuency)
fN=fS/2;  % Frecuencia de Nyquist
dt= 1/fS;  % Intervalo de muestreo siguiendo el criterio de Nyquist


for k=[1 2 4 6]

%k=1 % Nyquist

dt=dt/k
t=(0:dt:10*T);

N=length(t);

s=cos(2*pi*f0*t);  % Senal digitalizada

Npad=5*N;
spad=s;
spad(Npad)=0.;


S=fft(spad); % espectro de amplitud

S_A=abs(S);


dw = 2*pi/Npad; 
w  = (0:Npad-1)*dw;

fS=1/dt;
fN=fS/2.;

df =fS/Npad;
f  =(0:Npad-1)*df;

clf
figure(1)
subplot(3,1,1)
plot(t,s)
subplot(3,1,2)
plot(w,S_A,'r')
#axis([0 pi,])
axis([0 pi,  ])
xt      =  0:pi/2:2*pi;
xtlabel = ["0";"{/Symbol p}/2";"{/Symbol p}";"3/2{/Symbol p}";"{/Symbol 2p}"];
xtlabel = ["0";"{/Symbol p}/2";"{/Symbol p}";"3/2{/Symbol p}";"{/Symbol 2p}"];
set(gca,"xtick",xt,"xticklabel",xtlabel);
xlabel('{/Symbol w}')

subplot(3,1,3)
plot(f,S_A,'g')
axis([0 fN,])
xlabel('f')
printf('Click para continuar disminuyendo el intervalo de muestreo ... \n');
pause 
endfor