¿Vale la pena una medida de correlación basada en wavelet sobrecarga computacional adicional?

9

He usado correlación y coherencia como medidas de correlación entre señales. Estaba pensando que un enfoque de frecuencia de tiempo me daría lo mejor de estos mundos.

Mi pregunta es si estos datos adicionales agregan suficiente a la imagen general de la señal para justificar el aumento del costo computacional asociado con la transformación de wavelets como parte del cálculo.

Referencia: un artículo de ArXiv : "Una técnica de correlación cruzada en el dominio wavelet para la detección de ondas gravitacionales estocásticas" por S.Klimenko, G.Mitselmakher, A.Sazonov

jonsca
fuente
¿Cuánto costo computacional adicional? ¿Puedes hacerlo más rápido con FFT o FWT?
endolito el
@endolith Suponiendo que ya incorporaría esos algoritmos, creo.
jonsca
1
Bueno, la coherencia y la correlación podrían usar FFT, que es O (N log N), mientras que FWT es O (N), ¿entonces el método wavelet podría ser más rápido ? Sin embargo, no tengo una comprensión clara de esto, a pesar de preguntar dos veces: math.stackexchange.com/questions/28581/… stackoverflow.com/questions/1787536/…
endolith
1
De todos modos, debe usar el que sea más apropiado para lo que está tratando de hacer. Esto es como preguntar "¿Cuál es mejor? ¿Destornilladores o martillos?"
endolito el
1
@jonsca Tu intuición es correcta. Aparentemente, la transformación DWT es una variante de tiempo, y esta propiedad puede conducir a alguna explotación. Realmente estoy haciendo exactamente lo mismo para un proyecto en el que estoy trabajando. El objetivo es estimar TDOA (Retraso de tiempo de llegada) entre dos señales, por lo que primero las transformé usando DWT (escrito a mano) y luego las correlacioné. Aquí hay un enlace a un documento que puede leer sobre él desde mi dropbox público. ( dl.dropbox.com/u/4724281/waveletBasedTDOA.pdf )
Spacey

Respuestas:

5

En primer lugar, debe usar la herramienta adecuada para el trabajo. Correlación vs coherencia vs correlación basada en wavelets son cosas diferentes, por lo que esta pregunta es como preguntar "¿Qué es mejor? ¿Destornilladores o martillos?" Depende de lo que intente hacer y de si le importa la similitud en el tiempo, los espectros de frecuencia o ambos.

O(norteIniciar sesiónnorte) O(norte)

Empíricamente , al producir n salidas a partir de n entradas reales, la transformada wavelet multinivel en PyWavelets se vuelve más rápida que la FFT de NumPy cuando n es mayor que aproximadamente 4096.

ingrese la descripción de la imagen aquí

sin embargo

  1. Es Python, y las dos implementaciones podrían ser muy diferentes de manera eficiente. Ni siquiera sé si wavedec()se consideraría una Transformación rápida de Wavelet. Usan la abreviatura DWT en su documentación. ¿Son Haar DWT y FWT lo mismo?
  2. El tiempo varía según la wavelet utilizada. La wavelet de Meyer tarda 6 veces más que Daubechies para producir la misma cantidad de datos.
  3. Todavía no entiendo cómo el FWT enlosa el plano de frecuencia de tiempo , o si producir n salidas es suficiente para obtener el mismo tipo de medición de similitud que una correlación cruzada circular de n puntos usando FFT. (Técnicamente, es un plano de escala de tiempo, no de frecuencia de tiempo, pero creo que son los mismos para la wavelet de Morlet compleja ). FWT es un "muestreo crítico" del plano y produce la misma cantidad de datos que FFT, entonces parece justo compararlos.

El punto principal es que el tiempo de cálculo es al menos aproximadamente similar para ambos, por lo que no creo que deba preocuparse al decidir cuál usar.

endolito
fuente
3

Esto es muy tarde, pero tal vez valga la pena de todos modos ...

X(t)X(Δs(t-Δt))ΔsΔtX(t)X(t-Δt)miyoΔωtΔωX(t)

O(norte)

Entonces, usar el DWT para examinar el plano de escala de tiempo no te llevará muy lejos. Esto es especialmente cierto porque las escalas "visitadas" por el DWT están separadas por factores de dos, y son mucho menos densas que la cobertura que puede obtener en el plano de frecuencia de tiempo con el FFT. Debe usar una transformada wavelet que sea invariante a la traducción, a veces llamada transformada wavelet no diezmada , entre muchos otros nombres. Incluso entonces, todavía tiene la escasez de las muestras de escala calculadas con las que lidiar.

Además, a menudo es deseable pensar que las ubicaciones en el plano de escala de tiempo tienen una densidad de energía. Este enfoque se facilita mediante el uso de una wavelet analítica, como la wavelet compleja de Morlet mencionada anteriormente. Un método que equilibra la invariancia de traducción y la analiticidad frente al tiempo de cálculo es la compleja transformación de wavelet de árbol doble . Hacer lo mismo en el plano de frecuencia de tiempo es quizás más simple: primero haga una transformación de Hilbert aproximada en su señal haciendo una FFT, poniendo a cero todas las frecuencias negativas, seguido de una IFFT.

Si la intuición de que la correlación busca la similitud en el tiempo y la coherencia busca la similitud en la frecuencia es correcta, entonces es mejor que te quedes en el plano tiempo-frecuencia. Ciertamente es más simple de calcular, y es fácil refinar el muestreo a lo largo del eje de frecuencia. Ninguno de los enfoques mencionados anteriormente aborda el muestreo del eje de escala más densamente. Para hacer eso, tienes que ir a la transformación continua de wavelet , aunque puede haber algo más que no conozco. Si tiene Matlab, siga el enlace de arriba y hágalo.

Precio de Rodney
fuente