Transformada de Haar

Fonte: testwiki
Revisão em 16h59min de 11 de maio de 2023 por imported>IDegret (growthexperiments-addlink-summary-summary:2|1|0)
(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Saltar para a navegação Saltar para a pesquisa

Predefinição:Mais fontes

Wavelet de Haar.

A Transformada de Haar é um transformada matemática discreta usada no processamento e análise de sinais, na compressão de dados e em outras aplicações de engenharia e ciência da computação. Ela foi proposta em 1909 pelo matemático húngaro Alfred Haar. A transformada de Haar é um caso particular de transformada discreta de wavelet, onde o wavelet é um pulso quadrado definido por:

ψ(t)={1,0t<0.51,0.5t<1.0,para outros valores de t

Na figura vemos ilustrada a wavelet de Haar. Apesar de ter sido proposta muito antes do termo wavelet[1] ser cunhado, a wavelet de Haar é considerada como um caso particular das wavelets de Daubechies, conhecida por isso como wavelet de Daubechies D2.

A transformada de Haar pode ser usada para representar um grande número de funções f(t) como sendo o somatório:

f(t)=k=ckϕ(tk)+k=j=0dj,kψ(2jtk), onde ϕ(t) é a função de escala definida por ϕ(t)={1,0t<10,para outros valores de t, e ck e dj,k são parâmetros a serem calculados.

Por exemplo, a função degrau definida por:

f(t)={5,0t<0.53,0.5t<1,

pode ser representada como f(t)=4ϕ(t)+ψ(t). O seja os parâmetros c0=4 e d0,0=1, e cn=0 e dn,m=0 para n0,m0. O vetor (4,1) equivale a transformada discreta de Haar da função f(t), que pode ser representada também na forma vetorial como (5,3).

Representação matricial

Como vimos acima, a transformada de Haar em sua forma discreta pode ser expressa como uma multiplicação matricial. No exemplo citado acima temos:

(5,3)A2=(4,1) dando a matriz A2 como sendo:

A2=12(1111)

E assim a transformada inversa de Haar se torna:

(4,1)A21=(5,3)

Entretanto a matriz A21 é difícil de ser calculada, mas sabemos que se a matriz A2 for ortonormal sua inversa é igual a sua transposta. Assim podemos utilizar a matriz:

A2=12(1111)

para a a transformada de Haar discreta, sendo sua inversa A21=A2T.

Assim, a transformada discreta de Haar em sua forma matricial pode ser expressa por uma matriz AN de tamanho N×N onde os elementos ANi,j são definidos como

ANi,j=hi1(j1N) onde

h0(x)=defh00(x)=1N, para 0x1,

hk(x)=defhp,q=1N{2p/2,q12px<q1/22p,2p/2,q1/22px<q2p,0,para outros valores de x[0,1].

e k=2p+q1, onde N=2n, 0pn1, q=0 ou 1 para p=0, e 1q2p para p0

Assim, a matriz A2 do nosso exemplo passa a ser:

A2=(h0(0/2)h0(1/2)h0(1/2)h1(1/2))=12(1111)

Transformada rápida de Haar

Na prática a transformada de Haar consiste em calcular a soma e a diferença entre os elementos de um vetor dois a dois. Assim, definimos a transformada rápida de Haar de um vetor Sn=(s1,s2,...,sn) como os dois vetores Mn/2=(m1,m2,...,mn/2)=(s1+s22,s3+s42,...,sn1+sn2) e Dn/2=(d1,d2,...,dn/2)=(s1s22,s3s42,...,sn1sn2).

A transformada inversa simplesmente recalcula os valores originais a partir da média e das diferenças. A transformada inversa recebe então os vetores Mn/2 e Dn/2 devolve um vetor S'n=Sn:

S'n=(m1+d1,m1d1,m2+d2,m2d2,...,mn/2+dn/2,mn/2dn/2).

Notas e referências

  1. A transformada foi proposta por Alfred Haar em 1909 e o termo Wavelet só viria mais tarde. (ver en:Haar wavelet)

Bibliografia

Ver também

Predefinição:Commonscat