Red de conocimiento informático - Conocimiento informático - Pasos específicos para implementar el análisis wavelet en matlab

Pasos específicos para implementar el análisis wavelet en matlab

%Una combinación de formas de onda triangulares y sinusoidales llenas de ruido

%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);

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)

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>

% 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)

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');