function osciloscopio ( signal,SYS,flag,simulacion,nf,nc,aux )


%==========================================================================
% Simula un osciloscopio que representa en el dominio del tiempo y la
% frecuencia las señales recibidas de la función gráfica.m
%==========================================================================


%%%%%%%%%%% Representación en el tiempo  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Lmax = length(signal(1:SYS.Ls)) ;
tmax = length(signal(1:SYS.Ls))/SYS.fs ;
t=linspace(0,tmax,Lmax) ;

if (aux==0)
    if (flag~=1 && flag~=4)
        subplot(nf,nc,simulacion)
    end
    plot(t,abs(signal(1:Lmax)))
    title('Amplitud señal')
else
    subplot(nf,nc,simulacion+1),
    plot(t,abs(signal(1:Lmax)))
    title({'Amplitud señal con IBO',SYS.IBO(simulacion)})
end
axis([0 tmax 0 1.1*max(abs(signal))])
xlabel('tiempo(s)')
ylabel('nivel (V)')
axis square

%%%%%%%%%%% Representación en frecuencia  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Nfft=2^((nextpow2(length(signal(1:SYS.L)))+4));
S_f = fftshift((fft(signal(1:SYS.L),Nfft)));
f = linspace(-SYS.fs/2,SYS.fs/2,length(S_f));

if (aux==0)
    if (flag~=1)&&(flag~=4)
        subplot(nf,nc,simulacion+nc)
    end
    if (flag==1)||(flag==4)
        figure()
    end
    plot(f,20*log10(abs(S_f)))
    title('Espectro señal')
else
    subplot(nf,nc,simulacion+nc+1),plot(f,20*log10(abs(S_f)))
    title({'Espectro señal con IBO',SYS.IBO(simulacion)})
end
axis([-0.75*SYS.Bprincipal 0.75*SYS.Bprincipal -20 max(20*log10(abs(S_f)))])
xlabel('f(Hz)')
ylabel('nivel(dB)')
axis square

end

