Calcular la transformada wavelet unidimensional en MATLAB - tomando la señal Doppler como ejemplo
La función para ejecutar IDWT es: x=waverec(C,L,'wname') p>
Donde wname es el nombre de la wavelet; x es la señal de secuencia en el dominio del tiempo; N es la serie de la transformada de wavelet.
Utilice coeficientes wavelet parciales para reconstruir la señal: x=wrcoef('type',C,L,'wname',N)
donde type='a' es un N -aproximación de nivel La señal de reconstrucción de componentes
type='d' es la señal de reconstrucción de componentes de detalle de nivel N
Doppler= wnoise(4,10);
N = 5;
nombrew = 'db4';
[C,L] = wavedec(doppler,N,wname); waverec(C ,L,wname);
A5 = wrcoef('a',C,L, wname,5);
A4 = wrcoef('a',C, L,wname ,4);
A3 = wrcoef('a',C,L,wname,3);
A2 = wrcoef('a',C,L, wname,2 );
A1 = wrcoef('a ',C,L,wname,1);
D5 = wrcoef('d',C,L,wname, 5);
D4 = wrcoef('d',C,L,wname,4);
D3 = wrcoef('d',C,L,wname,3) ;
p>
D2 = wrcoef('d',C,L,wname,2);
D1 = wrcoef('d',C,L,wname ,1);
figure(1);
plot(doppler,'k','linewidth',2);
espera; p>
plot(A0 ,'-.r','linewidth',2);
espera;
plot(A5,'--b',' linewidth',2);
p>legend('señal Doppler original','señal IDWT----A0','señal de aproximación de nivel 5----A5');
eje([0 400 -1 1]);
set(gcf,'unidad','centímetros','posición',[10 10 30 10]) )
figura(2);
subplot(3,2,1);
plot(doppler,'k','linewidth',2);
título('señal Doppler');
eje([0 400 -1 1]
subplot(3,2,2);
plot(D5,'k',' linewidth',2);
title('Detalle D5 de db4');
axis([0 400 -1 1]) ;
subplot( 3,2.3);
plot(D4,'k','linewidth',2);
title('D4 detalle de db4');
axis([0 400 -1 1]);
subplot(3,2,4);
plot(D3,' k',2 2 ,'linewidth', 2);
title('Detalle D3 de db4');
axis([0 400 -1 1]); p>
subtrama(3
,2,5);
plot(D2,'k','linewidth',2);
title('Detalle D2 de db4');
axis( [0 400 -1 1]);
subplot(3,2,6);
plot(D1,'k','linewidth',2);
title('Detalle D1 de db4');
axis([0 400 -1 1]);
figure(3);
subplot(3,2,1);
plot(doppler,'r','linewidth',2);
title('Señal Doppler');
eje([0 400 -1 1]);
subplot(3,2,2);
plot(A5,'r','linewidth ', 2);
title('Aproximación A5');
axis([0 400 -1 1]);
subplot(3,2 ,3 );
plot(A4,'r','linewidth',2);
title('Aproximación A4');
axis( [0 400 -1 1]);
subplot(3,2,4);
plot(A3,'r','linewidth',2);
título('Aproximación A3');
eje([0 400 -1 1]);
subplot(3,2,5).
plot(A2,'r','linewidth',2);
title('Aproximación A2');
axis([0 400 -1 1]) ;
subplot(3,2,6);
plot(A1,'r'. 'linewidth',2);
title('Aproximación A1' );
eje([0 400 -1 1]);