Lectura de la trama de transformación Wavelet


15

Tengo problemas para comprender cómo leer la trama trazada por una transformada wavelet,

aquí está mi código simple de Matlab,

load noissin;
% c is a 48-by-1000 matrix, each row 
% of which corresponds to a single scale.
c = cwt(noissin,1:48,'db4','plot');

ingrese la descripción de la imagen aquí

Entonces, la parte más brillante significa que el tamaño del cofre de escala es mayor, pero ¿cómo puedo entender exactamente esta trama de lo que está sucediendo allí? Amablemente ayúdame.


intenté seguir el código en matlab t = 0: 0.001: 2; y = sin (2 * pi * 20 * t) wname = 'cmor0.5-1' escala = 1: 0.1: 80; cwt (y, scale, wname, 'plot'); Tengo siguiente trama! ingrese la descripción de la imagen aquí, partes reales e imaginarias que muestran huecos que se observan en CWT con morl wavelet. Entonces, en cierto modo, CWT con onda de morlet compleja también contiene información de fase. ¿Cómo explicar eso?

Respuestas:


15

Imagine por un segundo que acaba de trazar su wavelet daubechies-4 , como puede ver aquí en rojo.

ingrese la descripción de la imagen aquí

Ahora imagine que toma esta forma de onda en rojo y simplemente hace una correlación cruzada con su señal. Trazas ese resultado. Esta será la primera fila de tu parcela. Esta es la escala 1. A continuación, dilatas tu wavelet Daubechies-4 (es decir, simplemente haces que se 'estire' a tiempo, por algún factor). Luego, nuevamente realiza una correlación cruzada de esta nueva forma de onda con su señal. Luego obtienes la fila dos de tu parcela. Esta es la escala 2. Sigue haciendo esto para todas las escalas, lo que significa que sigue tomando su wavelet original 'madre', y continúa dilatando, luego correlacionando, dilatando y correlacionando, etc., y simplemente traza los resultados uno encima de la otros.

Esto es lo que te muestra el diagrama de CWT. Los resultados de realizar una correlación cruzada de su señal con una wavelet a diferentes escalas, es decir, a diferentes factores de dilatación (estiramiento).

Así que déjanos interpretar tu imagen. En la primera fila, puede ver que tiene amplitudes débiles en su correlación cruzada. Eso significa que le está diciendo que casi nada en su señal se correlaciona (o 'coincide') con su wavelet, cuando está en la escala 1, (cuando está en la escala más pequeña). Sigue estirando su wavelet y correlacionando, y aún así no coincide con nada en su señal, hasta que alcanza, digamos, escala-31. Entonces, cuando estira su wavelet 31 veces y realiza una correlación cruzada, comienza a ver algunos puntos brillantes, lo que significa que está obteniendo buenos puntajes de correlación cruzada entre su wavelet estirada y su señal.

Sin embargo, si nos fijamos en la parte superior, tenemos los puntos más brillantes. Entonces, para la escala 46, hiciste esa fila estirando tu wavelet original 46 veces, y luego la correlacionaste con tu señal, y esa es tu fila 46. Entonces ves muchos lindos puntos brillantes. Puede ver que en las posiciones (eje x) ~ 25, ~ 190 y ~ 610, tengo puntos brillantes. Eso te dice que tienes alguna característica en tu señal, que coincide muy bien con tu wavelet que se estira 46 veces . Entonces tienes 'algo' en esos lugares que coinciden estrechamente con tu wavelet a esta escala.

(Por supuesto, en su caso, ha utilizado ruido, por lo que las posiciones de las que he hablado son aleatorias, es decir, no hay nada realmente "interesante". Haga un CWT con un pulso sinusoidal y lo que estoy diciendo puede ser más claro para ti)

En resumen, el CWT simplemente le muestra todos los puntajes de correlación posibles entre su plantilla / filtro coincidente (en este caso, daub-4 wavelet), en diferentes posiciones, (eje x), también en diferentes factores estirados, (eje y) .

Espero que esto haya ayudado.


Muchas gracias, esto realmente ayudó, pero ¿cómo podría decir que descubrí la frecuencia y el tiempo de mi señal mediante este proceso?
Sufiyan Ghori

1
@Efectó Encontraste el 'tiempo' de aparición de alguna característica en tu señal, por el cual obtienes puntajes máximos de correlación. (Ejemplo, ~ 25, ~ 190, ~ 610) en su ejemplo. Para obtener el contenido de frecuencia de su señal en ese punto, solo puede mirar la FFT de esa porción de su señal, O puede mirar la FFT de su wavelet en esa escala y ver su respuesta de frecuencia.
Spacey

Entonces, ¿suponemos tomar DCT después de wavelet para tener componentes de tiempo y frecuencia? Si tengo una onda sinusoidal (eje x = tiempo, eje y = amplitud) y si tomo su FFT, entonces tengo componentes de frecuencia de fft y componentes de tiempo de la señal original, ¿por qué suponemos usar wavelet?
Sufiyan Ghori

1
@Efectó La razón por la que usa DFT / DCT es para obtener contenido de frecuencia global . DFT / DCT le dice a su contenido de frecuencia para toda la señal. ¿Dónde está una frecuencia específica en el tiempo? No lo sabes Sin embargo, si usa wavelets, puede averiguar no solo cuál es su frecuencia (similar a DFT / DCT), sino también dónde tiene esa frecuencia. (Lugar en el tiempo).
Spacey

Para el registro, la frecuencia solo existe como un concepto global. Tan pronto como comience a fijar la frecuencia a un período de tiempo, realmente está hablando de distribuciones de frecuencia. La distribución se reduce a medida que aumenta el intervalo de tiempo o la escala. Calcular el DFT de wavelets de diferentes escalas le dará una idea de cómo interpretar los resultados de transformación asociados al dominio de la frecuencia; Piense en el filtro de paso de banda. La wavelet de Morlet tiene una distribución de frecuencia gaussiana muy adecuada para relacionarse con los conceptos de Fourier. @endolith tocó esto en su respuesta.
usuario2718

11

Estas tramas me ayudaron a entender, viniendo de un fondo STFT :

La wavelet Morlet (sinusoidal) compleja se ve y se comporta como el núcleo complejo de un STFT (ya que se deriva de la transformación de Gabor , un tipo de STFT). Cuando "lo desliza" una señal de la misma frecuencia, coincide, sin importar la fase de la señal que está midiendo, produciendo una medición de magnitud y fase en cada punto (y esto es solo un gráfico de la magnitud):

Magnitud de la transformada de wavelet Morlet compleja

Diagrama de magnitud de la transformada de wavelet Morlet compleja

La wavelet de Morlet de valor real solo coincide cuando las fases de la wavelet y la señal se alinean. Entonces, a medida que lo desliza más allá de la señal que está midiendo, entra y sale de la fase, produciendo máximos y mínimos a medida que cancelan o refuerzan:

Magnitud de la transformada continua de wavelet de Morlet real

Magnitud de la transformada continua de wavelet de Morlet real

(En realidad, en ese caso, estamos trazando la magnitud, por lo que tanto las coincidencias positivas como las negativas producen puntos naranjas. Es mejor cambiar a un mapa de colores bipolar , para mostrar que algunos picos están en fase y otros están fuera de fase) :

Transformada continua de wavelet de Morlet real utilizando un mapa de colores bipolar

Transformada continua de wavelet de Morlet real utilizando un mapa de colores bipolar

Con el Morlet de valor real, la información de magnitud y fase se combina en un solo valor de salida.

La mayoría de las wavelets de uso común tienen un valor real, por lo que solo coinciden cuando la onda que está midiendo y la onda que está probando se alinean, lo que conduce a estas oscilaciones u ondulaciones en el escalograma a medida que se desliza una sobre la otra.


¿De dónde sacaste esas tramas, por cierto?
Spacey

@Mohammad: Oh, si sigues los enlaces tengo más información sobre ellos, pero en resumen, los hice con este código: phy.uct.ac.za/courses/python/examples/…
endolith


1
¡Muy agradable! Decidí aprender sobre wavelets, busqué en Google, y dentro de cinco minutos vuelvo al ecosistema de stackexchange a una respuesta de clase bien escrita "¡ajá!". Este es un conjunto mínimo de imágenes bien elegido. ¡Gracias!
uhoh

4

Este es el ejemplo que creo que es el mejor para comprender la trama de Wavelet.

Eche un vistazo a la imagen a continuación, la forma de onda (A) es nuestra señal original, la forma de onda (B) muestra una wavelet Daubechies 20 (Db20) de aproximadamente 1/8 de segundo de largo que comienza al principio (t = 0) y termina efectivamente antes de 1/4 de segundo. Los valores cero se extienden a la totalidad de 1 segundo. La comparación punto por punto * con nuestra señal de pulso (A) será muy pobre y obtendremos un valor de correlación muy pequeño.

Primero desplazamos la onda madre básica o sin estirar ligeramente hacia la derecha y realizamos otra comparación de la señal con esta nueva forma de onda para obtener otro valor de correlación. Continuamos cambiando y cuando la wavelet Db20 está en la posición que se muestra en (C) obtenemos una comparación un poco mejor que con (B), pero sigue siendo muy pobre porque (C) y (A) son frecuencias diferentes.

Después de haber seguido desplazando la wavelet hasta el final del intervalo de tiempo de 1 segundo, comenzamos de nuevo con una wavelet ligeramente estirada al principio y cambiamos repetidamente hacia la derecha para obtener otro conjunto completo de estos valores de correlación. La forma de onda (D) muestra la wavelet Db20 estirada hasta donde la frecuencia es aproximadamente la misma que el pulso (A) y se desplazó hacia la derecha hasta que los picos y valles se alinean bastante bien. En estas cantidades particulares de desplazamiento y estiramiento, deberíamos obtener una muy buena comparación y un gran valor de correlación. Sin embargo, un mayor desplazamiento hacia la derecha, incluso en este mismo estiramiento producirá correlaciones cada vez más pobres. El estiramiento adicional no ayuda en absoluto porque incluso cuando está alineado, el pulso y la wavelet demasiado estirada no tendrán la misma frecuencia.

ingrese la descripción de la imagen aquí

En el CWT tenemos un valor de correlación para cada cambio de cada wavelet estirada. † Para mostrar los valores de correlación (calidad de la "coincidencia") para todos estos estiramientos y cambios, utilizamos una pantalla tridimensional.

Aquí va,

ingrese la descripción de la imagen aquí

Los puntos brillantes indican dónde se alinean mejor los picos y valles de la wavelet estirada y desplazada con los picos y valles del pulso incrustado (oscuro cuando no hay alineación, más oscuro donde solo se alinean algunos picos y valles, pero más brillante donde todos los picos y valles alinear). En este ejemplo simple, estirar la wavelet por un factor de 2 de 40 a 20 Hz (estirar el filtro de los 20 puntos originales a 40 puntos) y cambiarlo 3/8 de segundo en el tiempo dio la mejor correlación y está de acuerdo con lo que sabíamos. a priori o "por adelantado" sobre el pulso (pulso centrado a 3/8 segundo, frecuencia de pulso 20 Hz).

Elegimos la wavelet Db20 porque se parece un poco a la señal de pulso. Si no supiéramos a priori cómo se vería el evento, podríamos probar varias wavelets (que se pueden cambiar fácilmente por software) para ver cuál produjo una pantalla CWT con los puntos más brillantes (lo que indica la mejor correlación). Esto nos diría algo sobre la forma del evento.

Para el sencillo ejemplo de tutorial anterior, podríamos haber discernido visualmente la ubicación y la frecuencia del pulso (A). El siguiente ejemplo es un poco más representativo de las wavelets en el mundo real, donde la ubicación y la frecuencia no son visibles a simple vista.

Vea el ejemplo a continuación,

ingrese la descripción de la imagen aquí

Las wavelets se pueden usar para analizar eventos locales. Construimos una señal de onda sinusoidal de variación lenta de 300 puntos y agregamos una pequeña "falla" o discontinuidad (en pendiente) en el tiempo = 180. No notaríamos la falla a menos que estuviéramos mirando el primer plano (b).

Ahora veamos cómo FFT mostrará esta falla, eche un vistazo, ingrese la descripción de la imagen aquí

La baja frecuencia de la onda sinusoidal es fácil de notar, pero no se puede ver la pequeña falla.

Pero si usamos CWT en lugar de FFT, se mostrará claramente esa falla, ingrese la descripción de la imagen aquí

Como puede ver, la pantalla de wavelet CWT muestra claramente una línea vertical en el tiempo = 180 y a escalas bajas. (La wavelet tiene muy poco estiramiento a escalas bajas, lo que indica que la falla fue muy corta). El CWT también se compara bien con la gran onda sinusoidal oscilante que oculta la falla. En estas escalas más altas, la wavelet se ha estirado (a una frecuencia más baja) y, por lo tanto, "encuentra" que el pico y el valle de la onda sinusoidal están en el tiempo = 75 y 225, para esta breve discontinuidad utilizamos un Db4 corto de 4 puntos wavelet (como se muestra) para una mejor comparación.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.