%Ejemplo de la forma de cálculo de la Transformada Wavelet Continua (CWT)
%Se utiliza la función wavelet gaussiana
%
%El parámetro to indica el término de traslación
%El parámetro s indica la escala, o ancho de la wavelet madre

close all
clear all

npuntos=1000;
t=0:1/npuntos:1;

to=0.25;
s=10000;

a=exp(-s*(t-to).^2/2);
tiempo=t*1000;
subplot(2,2,1)
plot(tiempo,a,'r')
fill(tiempo,a,'r');
title('s = 250   to = 250');
hold on
x=-8*pi:12*pi/1000:8*pi;
senal=60*cos(x).^5.*sin(x).^7./(sin(x).^5+x+eps);
plot(senal)
axis([0,1100,-0.5,1])
grid on
xlabel('Tiempo [ms]');

to=0.45;
a=exp(-s*(t-to).^2/2);
subplot(2,2,2)
plot(tiempo,a,'r')
fill(tiempo,a,'r');
title('s = 250   to = 450');
hold on
x=-8*pi:12*pi/1000:8*pi;
senal=60*cos(x).^5.*sin(x).^7./(sin(x).^5+x+eps);
plot(senal)
axis([0,1100,-0.5,1])
grid on
xlabel('Tiempo [ms]');

to=0.65;
a=exp(-s*(t-to).^2/2);
subplot(2,2,3)
plot(tiempo,a,'r')
fill(tiempo,a,'r');
title('s = 250   to = 650');
hold on
x=-8*pi:12*pi/1000:8*pi;
senal=60*cos(x).^5.*sin(x).^7./(sin(x).^5+x+eps);
plot(senal)
axis([0,1100,-0.5,1])
grid on
xlabel('Tiempo [ms]');

to=0.75;
a=exp(-s*(t-to).^2/2);
subplot(2,2,4)
plot(tiempo,a,'r')
fill(tiempo,a,'r');
title('s = 250   to = 750');
hold on
x=-8*pi:12*pi/1000:8*pi;
senal=60*cos(x).^5.*sin(x).^7./(sin(x).^5+x+eps);
plot(senal)
axis([0,1100,-0.5,1])
grid on
xlabel('Tiempo [ms]');

