interpretar el escalograma wavelet

8

Mi conocimiento de wavelets es menor que épsilon. Tengan paciencia conmigo. Si tengo una señal de dos sinusoides bien separados (15 y 48 Hz) más algo de ruido aleatorio, puedo distinguir claramente los dos en un espectrograma (las dos franjas en mi imagen);

t=0:0.002:1;   % fs = 500 Hz
x=4*sin(2*pi*15*t)+2*cos(2*pi*48*t);
xn = x + randn(size(x));
figure(1);
plot(xn);
figure(2);
spectrogram(xn, 64, 60, [], 500);

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

pero, usando 'wscalogram', no puedo decir que puedo distinguir los componentes:

    coefs = cwt(xn,1:64,'db8','scalCNT');
    wscalogram('image',coefs,'scales',1:64,'ydata',xn);

ingrese la descripción de la imagen aquí

¿Hay alguna manera de leer del escalograma que hay 2 sinusoides distintos y, de ser así, cómo puedo separarlos usando la descomposición y el filtrado de wavelets? Pensé que quizás mi elección de wavelet ('db8') no es óptima, pero no puedo ver mucha diferencia usando otros tipos y un mayor número (o menor) de escalas. Claramente, me falta algo sobre dónde y cuándo y sobre qué aplicar wavelets.

Gracias

usuario1641496
fuente
Me gustaría saber cuál es el significado del eje y. ¿A quién puedo leer la frecuencia en el eje y en el Scalogram Wavelet?
Nader Rachid

Respuestas:

3

Las wavelets son ideales para eventos localizados. La Transformada de Fourier representa una función como una suma de senos y cosenos, ninguno de los cuales está localizado. El espectrograma guarda cierta información de tiempo, a expensas de la resolución de frecuencia

En su caso, la señal no está localizada en absoluto. El espectrograma difumina su banda de 15 Hz en varios Hz, ya que captura cierta información de tiempo y el escalograma falla completamente.

MSalters
fuente
1

Sí, te falta algo :) Aunque has probado diferentes familias de wavelets, deberías usar el GaborWavelet. Escribí esto en Mathematica, pero puedes hacerlo en cualquier entorno que desees.

cwd = ContinuousWaveletTransform[Table[4 Sin[2 Pi 15 t] + 2 Cos[2 Pi 48 t] +   
               RandomReal[{-.5, .5}], {t, 0, 5 \[Pi], .01}], GaborWavelet[]]

WaveletScalogram[cwd, ColorFunction -> "RoseColors"]

Gráficos de Mathematica

Sektor
fuente
2
La razón para preferir un GaborWaveletdebe explicarse aquí.
Serge Stroobandt el