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.
fuente
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:
El primer resultado de la convolución DWT con su Haar Wavelet es:
El siguiente resultado es:
El siguiente es:
Y finalmente el último es:
¿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.
fuente