%DEMO_CONSTR_OJO
% Demostración del Proceso de Construcción de un diagrama de ojo

%	Autor: Jesus Ibañez
%   Copyright (c) 2007 G.T.A.S. (Grupo Tratamiento Avanzado de Señal)
%                 DICOM Universidad de Cantabria
%
%	Fecha   : 15 Octubre 2007.
%	Version : 1.0

%===========================================================================
% Notas:
% ----------------------
%===========================================================================

%===========================================================================
% Historia de Modificaciones:
% ----------------------
%	o	Creada y Comprobada bajo MATLAB r13 15/06/2006
%   o   Mejoras estéticas 22/10/2009
%   o   Mejoras estéticas 15/10/2010
%   o   Mejoras estéticas 27/11/2012
%   o   Uso randi en lugar de randint 10/11/2014
%===========================================================================

close all

L=50;   % Factor de sobremuestreo
N=300;  % Número de bits
fs=L;   % Frecuencia de muestreo (suponiendo Rs=1)

t=(0:N-1)/fs;

x=[1 0 1 0 randi([0 1],1,N-4)]*2-1;

y1=kron(x,ones(1,L));
y=rcosflt(x+0.05*randn(size(x)),1,L,'normal',0.7);
y=y((3*L+1:end-3*L));
y1=[y1(L/2:end) NaN*ones(1,L/2-1)];

Ny=length(y);
ty=(0:Ny-1)/fs;
close all
figure(1) 
subplot(211);plot(ty,y1,'k',ty,y,'b','LineWidth',2);xlabel('tiempo/T');ylabel('Amplitud (V)')
line([min(ty) max(ty)],[0 0],'LineStyle','--','Color','k');
axis([0 min(20,N) -1.5 1.5])
pause

for i=1:min(20,N-2)
    n=(1:2*L)+(i-1)*L;
    subplot(211);plot(ty,y1,'k',ty,y,'b',ty(n),y(n),'r','LineWidth',2);xlabel('tiempo/T');line([min(ty) max(ty)],[0 0],'LineStyle','--','Color','k');axis([0 min(20,N) -1.5 1.5])
    subplot(235);plot((0:2*L-1)/fs,y(n),'r','LineWidth',2);axis([0 2 -1.7 1.7]);grid on;hold on;xlabel('tiempo/T');ylabel('Amplitud (V)')
    pause
    subplot(235);plot((0:2*L-1)/fs,y(n),'b','LineWidth',2);hold on    
end
for i=min(20,N-2)+1:N-2
    n=(1:2*L)+(i-1)*L;
    subplot(235);plot((0:2*L-1)/fs,y(n),'r','LineWidth',2);axis([0 2 -1.7 1.7]);grid on;hold on;xlabel('tiempo/T');ylabel('Amplitud (V)')
    subplot(235);plot((0:2*L-1)/fs,y(n),'b','LineWidth',2);hold on  
end
hold off
