Pasos específicos para implementar el análisis wavelet en matlab
%Usa wavelet db5 para descomponer la señal en 7 capas
%Generar una señal sinusoidal
clc ;Cerrar todo ;Borrar todo;
N=1000;
t=1:N;
sig1=sin( 0.3*t);
%Generar forma de onda triangular
sig2(1:500)=((1:500)-1)/500;
sig2(501:N)=(1000 -(501:
figura(1);
subtrama( 211);
plot(t,sig1,'linewidth',2); p>
xlabel('Número de muestra N');
ylabel('Magnitud A');
subplot(212);
plot( t,sig2 ,' linewidth',2);
xlabel('Número de muestra N');
ylabel('Amplitud A');
% Señal superpuesta
x=sig1+sig2+randn(1,N);
figura(2);
plot(t,x,'linewidth' ,2) ;
xlabel('Número de muestra N');
ylabel('Amplitud A');% Descomposición wavelet unidimensional
[c ,l]= wavedec(x,7,'db5');%Reconstruir el coeficiente aproximado de las capas 1-7
a7=wrcoef('a',c,l,'db5',7) ;
a6=wrcoef('a',c,l,'db5',6);
a5=wrcoef('a',c,l,'db5', 5);
a4=wrcoef('a',c,l,'db5',4);
a3= wrcoef('a',c,l,'db5 ',3) ;
a2=wrcoef('a',c,l,'db5',2);
a1=wrcoef('a',c,l, 'db5', 1);% muestra el coeficiente de aproximación
figura(3)
subplot( 711)
plot(a7,'linewidth',2) ;
ylabel('a7');
subplot(712)
plot(a6,'linewidth',2
ylabel('a6');
subplot(713)
plot(a5,'linewidth',2);
ylabel('a5')
subplot(714)
plot(a4,'linewidth',2);
ylabel('a4');
subtrama(715 )
plot(a3,'linewidth',2);
ylabel('a3');
subtrama(716) p>
plot(a2,'linewidth',2);
ylabel('a2');
subplot(717)
plot( a1,'ancho de línea ',2);
ylabel('a1');
xlabel('S
amplio ordinal N'); % reconstruir el coeficiente de detalle de las capas 1-7
d7=wrcoef('d',c,l,'db5',7);
d6 =wrcoef('d',c,l,'db5',6);
d5=wrcoef('d',c,l,'db5',5);
d4=wrcoef('d',c,l,'db5',4);
d3=wrcoef('d',c,l,'db5',3);
d2=wrcoef('d',c,l,'db5',2);
d1=wrcoef('d',c,l,'db5',1); p> p>
% muestra coeficientes detallados
figura(4)
subplot(711)
plot(d7,'linewidth',2) ;
ylabel('d7');
subplot(712)
plot(d6,'linewidth',2);
ylabel ( 'd6');
subplot(713)
plot(d5,'linewidth',2);
ylabel('d5') ;
subplot(714)
plot(d4,'linewidth',2);
ylabel('d4');
subtrama (715)
plot(d3,'linewidth',2);
ylabel('d3');
subtrama(716) p>
plot(d2,'linewidth',2);
ylabel('d2');
subplot(717)
plot( d1, 'ancho de línea',2);
ylabel('d1');
xlabel('Número de serie de muestra N');