Um CWT inverso integral

Nov 05 2020

O icwt do MATLAB docs a inversão de estado a ser feita por um único integral:

$$ f(t) = 2 \Re e\left\{ \frac{1}{C_{\psi, \delta}} \int_0^\infty \left< f(t), \psi(t) \right> \frac{da}{a} \tag{1} \right\} $$

De onde vem essa expressão e como é a integração $b$(tradução) eliminado (como na fórmula do Wiki )? Ele se mantém se computando discretamente sobre distribuição de log$a$ (por exemplo: $(2^{1/32})^{[1, 2, ...]}$)?

Respostas

OverLordGoldDragon Nov 05 2020 at 20:17

A fórmula tem como premissa a wavelet ser analítica , ou ser diferente de zero apenas em frequências não negativas:${\hat\psi} (\omega < 0) = 0$. (Observe que todas as wavelets também têm${\hat \psi (0)}=0$pelo critério de admissibilidade). De Daubechies et al ,

$$ \begin{align} \int_0^\infty W_f(a, b) a^{-1} da & = \frac{1}{2\pi} \int_{-\infty}^{\infty} \int_{0}^{\infty}{\hat f}(\xi) \overline{ {\hat \psi}(a\xi)} a^{-1} da d\xi \tag{1a} \\ &= \frac{1}{2\pi} \int_0^\infty \int_0^\infty {\hat f}(\xi) \overline{ {\hat \psi} (a\xi)} e^{jb\xi} a^{-1} da d\xi \tag{1b} \\ &= \int_0^\infty \overline{ {\hat \psi}(z)} \frac{dz}{z} \cdot \frac{1}{2\pi} \int_0^\infty {\hat f}(\xi) e^{jb\xi} d\xi \tag{1c} \\ \end{align} $$

onde uma mudança bastante confusa de variáveis ​​foi substituída por uma mais clara, $z=a\xi,\ dz=\xi da$. Observe que esta cov só é válida se os inteiros compartilham limites, que é habilitado por$\psi$analiticidade de; de outra forma,$z$ iria integrar $-\infty $ para $\infty$, mas $z$ inclui $a$, que abrange apenas $0$ para $\infty$. Uma identidade também foi utilizada na divisão de integrais.

Assumindo $f$ é real, nós temos ${\hat f(\xi)} = \overline{\hat f (-\xi)}$, portanto, de $0$ para $\infty$,

$$ \frac{1}{4\pi} \Re e \left\{ \int_0^\infty {\hat f(\xi)} e^{jb\xi} d\xi \right\} = f(b), $$

e configuração $C_\psi = \int_0^\infty \overline{ {\hat \psi (z)}} z^{-1} dz$ assim deriva

$$ \begin{align} f(b) &= \frac{1}{2} \Re e \left\{ \frac{1}{C_\psi} \int_0^\infty W_f(a, b) a^{-1} da \right\} \tag{2a} \\ &= \frac{1}{2} \Re e \left\{ \frac{1}{C_\psi} \int_0^\infty f \star \overline{\psi_a(b)} \frac{da}{a} \right\} \tag{2b} \\ &= \boxed{ \frac{1}{2} \Re e \left\{ \frac{1}{C_\psi} \int_0^\infty \left< f(t), \psi(t) \right> \frac{da}{a} \right\} } \tag{2c} \\ \end{align} $$

Desde a $W_f$ varre $b$ No geral $t$, acima vale de forma equivalente para $f(t)$.


O papel que você vinculou usa $a^{-3/2}$- Na verdade, uma vez que assume uma norma L2 na wavelet, enquanto o MATLAB usa L1; mais informações podem ser encontradas aqui .

E quanto ao $\delta$? -- O$\delta$ é de MATLAB escrevendo a expressão como um caso especial do inverso mais geral, como mostra acima perto dele, com $\left<f, g\right>$, que é derivado aqui .

e a $2 \Re e$? - Boa pergunta - talvez do MATLAB$C_{\psi, \delta}$é um pouco diferente, mas pela definição acima claramente dividimos por dois, não multiplicamos. Em caso de dúvida, tente ambos.


Interpretação : ajuda observar que$b$em todas as derivações pode ser substituído por uma constante - então a relação é pontual ; se integrarmos junto$a$, ou seja, uma coluna da representação de tempo-frequência 2D, recuperamos a função nesse ponto, $f(b)$.

Observe que no iCWT integral duplo, usamos uma wavelet dupla para "desfazer" o produto interno com a wavelet CWT, análoga a $e^{+j\omega t}$ no $\mathcal{F}^{-1}$; aqui, não usamos nenhum kernel invertido - a transformação se desfaz quando integrada em todas as escalas. Isso implica alguma propriedade de simetria na wavelet$\psi$na codificação de informações em escalas - embora eu não tenha certeza de como isso funciona exatamente; o mais importante é a analiticidade, que permite isso em primeiro lugar, de modo que se pode buscar lá uma resposta.


Caso discretizado com distribuição exponencial $a$

Da mesma página do papel vinculado, o caso linear discretizado lê

$$ f(b) \approx \frac{1}{2} \Re e \left\{ C_\psi^{-1} \sum_k W_f (a_k, b) \frac{(\Delta a)_k}{a_k} \right\}, \tag{3} $$

com $(\Delta a)_k$ assumindo o papel de $da$. Para o caso linear,$(\Delta a)_k = \Delta a$, mas não para o caso de log, pois o tamanho do incremento aumenta para maior $k$. Essa é a única distinção entre log e linear.

Na prática, no entanto, é melhor usar diretamente a transformação em escala logarítmica discretizada - que deriva da seguinte maneira:

$$ \begin{align} & z = e^a, \ dz = a da \\ & \frac{da}{a^2} = \frac{d \ln (z)}{z} \tag{4} \end{align} $$

Suponha $z(a) = 2^{a/32}$. Observe que o log-plot de uma escala exponencial é linear, então a diferença$\Delta(\ln (z))$ ou $d(\ln (z))$é constante e igual a$\ln (z(1))da$. Para ver melhor, vamos derivar diretamente para este exemplo, usando$n_v$ para "número de vozes":

$$ z(a) = 2^{a/n_v} \rightarrow dz(a) = z \frac{\ln(2)}{n_v} da = \ln(a_0)da \tag{5} $$

Ao discretizar, $da=1$, e acabamos com

$$ \boxed{f[] \approx \frac{\ln (a_0)}{2 C_\psi} \Re e \left\{\sum_{k=1}^{K} \frac{1}{a_0^k} W_f (a_0^k, .) \right\} } \tag{6} $$

mesmo que Mallat Eq 4.67 (observe que sua derivação é para integral duplo, mas o mesmo argumento de escala se aplica aqui).