Usando versos continuos transformada wavelet discreta en aplicaciones digitales

14

Estoy familiarizado con gran parte del trasfondo matemático detrás de las wavelets. Sin embargo, al implementar algoritmos en una computadora con wavelets, estoy menos seguro de si debo usar wavelets continuas o discretas. En realidad, todo en una computadora es discreto, por lo que parece obvio que las wavelets discretas son la opción correcta para el procesamiento de señales digitales. Sin embargo, según Wikipedia , es la transformación de wavelet continua que se utiliza principalmente en la compresión de imágenes (digital), así como en una gran cantidad de otras actividades de procesamiento de datos digitales. ¿Cuáles son los pros y los contras a tener en cuenta al decidir si usar una transformada wavelet continua (aproximada) en lugar de una transformada wavelet discreta (exacta) para el procesamiento de imágenes o señales digitales?

PS (Verificando una suposición aquí) Supongo que las transformaciones de wavelet continuas se usan en el procesamiento digital simplemente tomando el valor de la wavelet continua en puntos espaciados uniformemente y usando la secuencia resultante para los cálculos de wavelet. ¿Es esto correcto?

PPS Por lo general, Wikipedia es bastante precisa sobre las matemáticas, por lo que supongo que las aplicaciones del artículo sobre Transformaciones continuas de Wavelet son, de hecho, aplicaciones de la Transformación continua de Wavelet. Ciertamente, menciona algunos que son específicamente CWT, por lo que claramente hay un uso de CWT en aplicaciones digitales.

John Robertson
fuente

Respuestas:

9

Como ya dijo Mohammad, los términos Transformaciones continuas de wavelet (CWT) y Transformaciones discretas de wavelet (DWT) son un poco engañosas. Se relacionan aproximadamente como Transformada de Fourier (continua) (la transformación integral matemática) a DFT (Transformada de Fourier discreta).

Para comprender los detalles, es bueno ver el contexto histórico. La transformada wavelet fue introducida originalmente en geofísica por Morlet, y era básicamente una transformada de Gabor con una ventana que crece y se contrae junto con la escala / frecuencia seleccionada. Más tarde, Daubchies (un físico-ett de Bélgica) se dio cuenta de que al elegir bases especiales de wavelets ortogonales, el CWT infinitamente redundante puede muestrearse críticamente en una cuadrícula diádica. A partir del DWT resultante, se puede obtener el CWT completo correspondiente convolucionando el DWT con el núcleo de reproducción de la wavelet respectiva. El núcleo de reproducción es el CWT de la propia wavelet.

Los hallazgos de Daubchies dieron un gran impulso a la teoría wavelet a principios de los años 80. El siguiente gran resultado fue que el DWT se puede calcular de manera muy eficiente (a veces también se denomina FWT [WT rápido]) mediante el uso de técnicas de la teoría de los bancos de filtros, a saber, los filtros de espejo de cuadratura (QMF) junto con los bancos de filtros de disminución de muestreo. Al construir QMF especiales, el DWT correspondiente se puede calcular mediante filtrado y disminución de resolución, que es el algoritmo de última generación para calcular los DWT en la actualidad. No necesita la función de escalado para calcular el DWT, es solo un detalle de implementación que el proceso FWT.

Con respecto al lado de la aplicación, el CWT es el candidato más ideal para el análisis de señales o series de tiempo debido a su resolución más fina y generalmente se elige en la mayoría de las tareas (por ejemplo, detección de singularidad). El DWT es más interesante en el contexto de transformaciones rápidas no redundantes. El DWT tiene una muy buena compactación de energía y, por lo tanto, es un buen candidato para las compresiones con pérdida y las transmisiones de señal.


Espero que haya aclarado las cosas.

André Bergner
fuente
Gracias Andre por la perspectiva histórica y la aclaración sobre el nombre. ¡He estado luchando exactamente por las confusiones causadas por estos nombres!
Yanshuai Cao
6

Una concepción errónea muy común pero desafortunada en el campo de las wavelets tiene que ver con la terminología mal acuñada de "Transformaciones continuas de wavelets".

Lo primero es lo primero: la Transformación continua de Wavelet (CWT) y la Transformación discreta de Wavelet (DWT) son transformaciones digitales punto por punto que se implementan fácilmente en una computadora.

La diferencia entre una transformación "continua" y una transformación "discreta" en el contexto de wavelet proviene de:

1) El número de muestras omitidas cuando se correlaciona una señal con su wavelet.

2) El número de muestras omitidas cuando dilatas tu wavelet.

3) El CWT usa solo una wavelet, mientras que el DWT usa tanto una wavelet como una escala-let. (No es importante para esta discusión, pero aquí para completar).

Pero no se equivoque: un CWT, al igual que un DWT, es en todo momento una operación discreta y digital.

Deje que este ejemplo lo ilustre: considere la Halet Wavelet, [1 -1]. Digamos que queríamos hacer un DWT con el Haar Wavelet. Entonces envuelves tu señal, con la wavelet madre de Haar, [1 -1], pero solo en retrasos diádicos. Por ejemplo, digamos que su señal es el siguiente vector:

x=[1 2 3 4 5 6 7 8]

El primer resultado de la convolución DWT con su Haar Wavelet es:

1(1)+2(1)

El siguiente resultado es:

3(1)+4(1)

El siguiente es:

5(1)+6(1)

Y finalmente el último es:

7(1)+8(1)

¿Algo te parece extraño? Dije tomar la convolución de su señal con la wavelet, entonces, ¿cómo es que solo termino con cuatro valores? Esto se debe a que omito muestras cuando hago convoluciones en el DWT. Primero tomé [1 2], hice un producto de punto, y luego tomé [3 4]. ¿Qué le pasó a [2 3]? Me lo salteé.

¿Cuándo no te lo saltas? Cuando haces un CWT. Si hicieras un CWT, sería una convolución digital 'normal' de tu señal, con la wavelet de Haar.


La segunda cosa, es la forma en que dilatas tu wavelet. En el ejemplo superior, la Halet Wavelet es [1 -1] para la descomposición del primer nivel. En el segundo nivel, la DWT Haar Wavelet se convierte en [1 1 -1 -1]. Sin embargo, en el CWT, la wavelet de Haar de segundo nivel es [1 0 -1]. Una vez más, en el DWT, no estoy expandiendo punto por punto, nunca tengo una wavelet de tres longitudes. Sin embargo, en el CWT, paso de la longitud 2 a la longitud 3. En el DWT, fui directamente de la longitud 2 a la longitud 4.

Esto es muy corto, espero que esto haya ayudado.

Spacey
fuente
1
Si bien es cierto que en la realización de DSP de cualquier transformación Wavelet (CWT o DWT), es probable que la implementación se realice como un punto por punto discreto multiplicado con una función de wavelet discreta (similar a la forma en que se formula el DFT), el La definición matemática de un CWT es continua. Hay versiones de DWT que se desarrollaron para datos discretos, por lo que algunas implementaciones de DWT son exactas por definición. Cualquier implementación de un CWT es una aproximación a la que se llegó al convertir una operación de continuación (integración) con una función wavelet continua, en una operación discreta.
usuario2718
@BruceZenone Ciertamente, y la definición ciertamente toma del contexto. Dos matemáticos que hablan sobre "el CWT" significarían la versión continua con las integrales, mientras que dos ingenieros reflexionando sobre la implementación dirían "el CWT" y significarían la versión discreta (que no es lo mismo que el DWT), de ahí la fuente de La confusión de OP.
Spacey
Suficientemente cierto. Me gustaría ver una implementación bien documentada de un CWT (digamos Morlet) para DSP para ver los detalles de cómo las operaciones / funciones continuas se traducen al mundo del procesamiento discreto. Tenga en cuenta que las transformaciones DFT y Fourier son bestias muy diferentes matemáticamente hablando.
usuario2718