Estou familiarizado com grande parte do conhecimento matemático por trás das wavelets. No entanto, ao implementar algoritmos em um computador com wavelets, tenho menos certeza se devo usar wavelets contínuas ou discretas. Em toda a realidade, tudo no computador é discreto, é claro, então parece óbvio que wavelets discretas são a escolha certa para o processamento de sinal digital. No entanto, de acordo com a wikipedia , é a transformação de wavelet contínua que é usada principalmente na compactação de imagem (digital), além de um grande número de outras atividades de processamento de dados digitais. Quais são os prós e os contras a serem considerados ao decidir se deve usar uma transformação de wavelet contínua (aproximada) em vez de uma transformação de wavelet discreta (exata) para processamento digital de imagem ou sinal?
PS (Verificando uma suposição aqui) Estou assumindo que transformações contínuas de wavelets são usadas no processamento digital, simplesmente pegando o valor da wavelet contínua em pontos uniformemente espaçados e usando a sequência resultante para cálculos de wavelet. Isso está correto?
PPS Normalmente, a wikipedia é bastante precisa sobre matemática, portanto, estou assumindo que os aplicativos no artigo sobre Transformações contínuas de wavelet são de fato aplicativos da Transformação contínua de wavelet. Certamente menciona alguns que são especificamente CWT, portanto há claramente algum uso de CWT em aplicativos digitais.
fonte
Uma má concepção muito comum, porém infeliz, no campo das wavelets tem a ver com a terminologia mal-criada de "Transformações Contínuas de Wavelet".
A primeira coisa é a primeira: A Transformada Contínua em Wavelet (CWT) e a Discrete Wavelet Transform (DWT) são transformações digitais ponto a ponto, facilmente implementáveis em um computador.
A diferença entre uma transformação "contínua" e uma transformação "discreta" no contexto da wavelet vem de:
1) O número de amostras puladas quando você correlaciona um sinal com sua wavelet.
2) O número de amostras puladas quando você dilata sua wavelet.
3) O CWT usa apenas uma wavelet, enquanto o DWT usa uma wavelet e uma escala-let. (Não é importante para esta discussão, mas aqui para ser completo).
Mas não se engane - um CWT, assim como um DWT, é sempre uma operação digital discreta.
Deixe este exemplo ilustrar isso: Considere a Haar Wavelet, [1 -1]. Digamos que queríamos fazer um DWT com a Haar Wavelet. Então você envolve seu sinal, com a wavelet da mãe Haar, [1 -1], mas apenas com atrasos diádicos. Por exemplo, digamos que seu sinal seja o seguinte vetor:
O primeiro resultado da convolução DWT com sua Haar Wavelet é:
O próximo é:
E finalmente o último é:
Algo lhe parece estranho? Eu disse: pegue a convolução do seu sinal com a wavelet - então como é que eu acabo com apenas quatro valores? Isso ocorre porque pulo amostras quando faço convoluções no DWT. Primeiro peguei [1 2], fiz um produto com pontos e depois peguei [3 4]. O que aconteceu com [2 3]? Eu pulei.
Quando você não pula? Quando você faz um CWT. Se você fizesse um CWT, seria uma convolução digital 'normal' do seu sinal, com a wavelet Haar.
A segunda coisa, é a maneira como você dilata sua wavelet. No exemplo do topo, a Haar Wavelet é [1 -1] para a decomposição do primeiro nível. No segundo nível, o DWT Haar Wavelet se torna [1 1 -1 -1]. No entanto, no CWT, a wavelet de segundo nível de Haar é [1 0 -1]. Mais uma vez, no DWT, não estou expandindo ponto por ponto - nunca tenho uma wavelet de três comprimentos. No entanto, no CWT, vou do comprimento 2 para o comprimento 3. No DWT, fui direto do comprimento 2 para o comprimento 4.
Este é o longo e curto, espero que isso tenha ajudado.
fonte