Você está na página 1de 14

CMP172 - Introduo ao Processamento Digital de Sinais

Prof. Luigi Carro

Aluno: Daniel Nehme Mller Data: 19/07/2000

Relatrio de Projeto: Transformada Wavelet

Introduo

As wavelets so funes matemticas que so particionadas em diversas


subfunes, de acordo com uma escala de interesse. Esta escala varia conforme o
nvel de descrio que se deseja da subfuno. Comparando-se com a
Transformada de Fourier, as wavelets permitem a anlise da funo em relao ao
tempo, o que no possvel com Fourier.

As wavelets tm sido utilizadas em situaes onde o sinal possui descontinuidades


e picos suaves. Sua utilizao tem servido aos mais diversos campos, como
matemtica, fsica, engenharia eltrica e geologia.

Neste trabalho ser apresentada uma breve noo de wavelets, uma comparao
entre Fourier e wavelets e ainda resultados obtidos no MATLAB para reduo de
rudo atravs da filtragem convencional, filtro LMS e wavelets.

Como surgiram as wavelets?

Em 1807, Joseph Fourier desenvolveu teorias de anlise de freqncia que tinham


a propriedade de representarem funes peridicas em 2 na forma de somas de
senides e cossenides. Posteriormente, matemticos exploraram estes conceitos,
juntamente com sistemas ortogonais e evoluram da noo de anlise de freqncia
para anlise de escala. Comprovadamente a anlise de escala de estruturas
matemticas mostra-se menos sensvel a rudos porque mede o valor mdio do
sinal de diferentes escalas. [GRA 95]

A primeira meno de wavelets foi dada por Haar em 1909. Apesar destas wavelets
terem caractersticas interessantes, elas no eram continuamente diferenciveis, o
que limitava sua aplicabilidade. Posteriormente nos anos 30, pesquisadores
descobriram outras vantagens das wavelets realizando estudos de funes-base
com variao de escala. Funes-base so um conjunto de funes que, somadas,
compem uma determinada funo. A variao de escala significa a alterao do
intervalo de anlise do sinal. Por exemplo, se estamos estudando o sinal que est
entre 0 e 1, podemos variar a escala para o intervalo entre 0 e e e 1, o
primeiro pode ser novamente dividido entre 0 e e e , e assim
sucessivamente. Assim, cada intervalo representa o sinal original dentro de uma
escala particular [GRA 95].

As funes-base de escala varivel eram uma necessidade, mas ainda faltava uma
representao do sinal que permitisse sua anlise em tempo e freqncia, como cita
Balian [RAB 99]: A informao til , de fato, freqentemente veiculada ao mesmo
tempo pelas freqncias emitidas e pela estrutura temporal do sinal. A
representao de um sinal como funo do tempo exibe mal o espectro das
freqncias em jogo, enquanto que ao contrrio sua anlise de Fourier mascara o
instante de emisso e a durao de cada um dos elementos do sinal. Uma
representao adequada deveria combinar as vantagens destas duas descries
complementares, apresentando alm disso um carter discreto melhor adaptado
teoria de comunicaes.

Apesar de suas caractersticas, as wavelets somente atingiram a representao


esperada aps o estudo realizado em 1985 por Stephane Mallat, que relacionava
filtros-espelho de quadratura, algoritmos piramidais e wavelets de base ortonormal.
Poucos anos depois, Ingrid Daubechies baseou-se no trabalho de Mallat para
construir o conjunto de wavelets de base ortonormal mais utilizados atualmente.

Comparao entre Fourier e Wavelets

A FFT (fast Fourier transform) e a DWT (discrete wavelet transform) so operaes


lineares que geram uma estrutura de dados contendo log2 n elementos de vrios
tamanhos, que so transformados em vetores de tamanho 2n. Ambas as
tranformadas podem ser vistas no espao como uma rotao para um domnio
diferente. Para a FFT, este novo domnio contm funes-base que so senos e
cossenos. Para a DWT, o novo domnio contm funes-base mais complexas
chamadas de wavelets. Para ambas, o domnio das funes-base a freqncia
[GRA 95].

Por outro lado, a complexidade computacional das FFT so da ordem de O(n log2
n), enquanto a FWT (fast wavelet transform) da ordem O(n) [VID 91]. Portanto, a
FWT possui o processamento mais rpido que a FFT.

Talvez a principal diferena esteja nas funes wavelets individuais, que so


localizadas no tempo, o que no acontece com os senos e cossenos de Fourier.
Esta caracterstica demonstrada na figura 1 [GRA 95], onde so comparadas no
tempo pela freqncia as ondas geradas por Fourier e por wavelets.
Figura 1. Comparao entre a construo Fourier e Wavelets em funo do tempo.

Observa-se que a janela de tempo varia para wavelets, o que no ocorre para
Fourier. Isso ocorre porque wavelets possui um conjunto infinito de possveis
funes-base, permitindo a flexibilidade na representao do domnio tempo.

Esta flexibilidade possvel dada a variveis que permitem controlar a onda


geradora (wavelet-me) para que altere sua escala de freqncia atravs de uma
dilatao, e seu tempo, atravs da translao do sinal [VID 91]. Estas variveis so
detalhadas na prxima seo.
Processamento Wavelets

Os processamento da Transformada Wavelet relativamente simples, como pode


ser observado na figura 2. A partir dos dados fornecidos, realizada a
decomposio do sinal e ento aplicada uma quantizao, obedecendo um
determinado limiar fornecido. A partir da feita a recomposio dos dados
transformados [VID 91].

Figura 2. Processamento Wavelet.

Para a realizao da decomposio wavelet, inicia-se com a definio da


wavelet-me, que definida como uma base ortogonal:

onde s e l so inteiros que escalam e dilatam a funo geradora . O ndice de


escala s indica a largura da wavelet e o ndice de localizao l fornece sua posio
[GRA 95].

Para estender o domnio de dados a diferentes resolues, a wavelet-me usada

numa funo escalvel [GRA 95][VID 91][SWE 95][SAY 96]:

onde ck so chamados de coeficientes wavelets, o que se pode comparar a filtros

que sero aplicados wavelet-me . So eles que faro o processo de


decomposio atravs de sucessivas filtragens passa-altas e passa-baixas.

Para a decomposio, aplicado um algoritmo piramidal que ir fazer uma filtragem


passa-baixa nos elementos de posio par e passa-alta nos elementos de posio
mpar [EDW 92]. A figura 3 mostra a representao das sucessivas filtragens
visando a decomposio do sinal.
Figura 3. Decomposio wavelet com 4 nveis.

Os coeficientes utilizados bem como as wavelets-me so projetados visando


determinadas aplicaes. Para tanto, so realizados diversos estudos especficos
[REI 95], que no sero abordados neste trabalho.

Por outro lado, sero comentados dois exemplos clssicos das wavelets: Haar e
Daubechies. A wavelet Haar, como comentado anteriormente, foi a primeira a ser
elaborada, porm no possui aplicabilidade. A wavelet Daubechies a mais
utilizada atualmente.

A wavelet Haar possui a funo-me escalada no ponto (0,0):


e suas wavelets-filhas, decompostas:

onde j o ndice de escala e k o ndice de localizao da wavelet-me, que gera as


novas wavelets.

Para exemplificar o efeito dos ndices, a figura 4 mostra como ocorre a variao dos
ndices de escala e localizao para a wavelet Haar [SAY 96].

Figura 4. Comportamento da wavelet Haar


Como se percebe na figura 4, o ndice j varia entre 1 e 2, apresentando a variao
da largura da onda (efeito de dilatao), enquanto o ndice k altera a posio da
onda no eixo x (efeito de translao).

A wavelet Daubechies na verdade uma famlia de funes baseadas em


funes polinomiais. Como sua descrio bastante extensa, no presente trabalho
ser apresentado na prxima seo apenas o teste deste tipo de wavelet em
comparao com mtodos tradicionais de filtragem de sinal.

Exemplo comparativo de filtragem de rudo: wavelet x mtodos tradicionais

Para se ter uma idia do desempenho da transformada wavelet Daubechies e Haar para
filtragem de rudo, foram feitos filtros e aplicados atravs dos mtodos de convoluo, filtro
adaptativo LMS, filtro FIR (Blackman) e filtro IIR (Butterworth).

A seguir tem-se duas figuras comparativas dos filtros acima citados. O desempenho
do filtro LMS (com 100 taps mas testado at 800) e das wavelets (Haar e
Daubechies-2) foi abaixo do esperado. O filtro que apresentou melhor desempenho
foi o FIR, como se pode ver nas figuras da resposta em freqncia.
O cdigo MATLAB utilizado para gerar os grficos apresentados o que segue.

% Relatrio final: filtros comuns x wavelets

% limpa graficos
close all;
clear all;

% gera funes sin e ruido


N=500;
T=1:N;
f=0.01;
f2=0.02;
A=1;
Anoise = 2;
fase = pi/2;
y1 = A*sin(2*pi*f*T);
y2 = Anoise*(rand(1,N)-0.5); % rudo
comp = y1+y2; % composicao de sinais
observador = A*sin(2*pi*f2*T + fase); % sinal que vai nos ajudar a recuperar

figure;
plot(comp);
title('composicao da senoide com ruido');

% convoluo

taps = ones(1,50);
yconv = conv(taps, comp);
figure;
subplot(311);
plot(yconv(1:500));
title('Por convoluo');

% filtro adaptativo
erro = .001;
taps = 100;
[ylms, e, hf] = lms(comp,taps,observador,erro);
subplot(312);
plot(ylms);
title('Por LMS');

% wavelets
[thr,sorh,keepapp] = ddencmp('den','wv',comp); % obtem valores default
yhaar = wdencmp('gbl',comp,'haar',1,thr,sorh,keepapp); % retira rudo
subplot(313), plot(yhaar);
title('Por wavelets - Haar');

% FIR
taps = 10;
freq = [0 0.1 0.11 1 ];
ampl = [1 1 0.001 0.001];
coef = fir2(taps,freq,ampl,blackman(taps+1));
yfir = filter(coef,1,comp);
figure;
subplot(311),plot(yfir),title('Por FIR - Blackman');

% IIR
ord = 1 ;
Fpt = 0.1;
[n,d] = butter(ord, Fpt);
yiir = filter(n,d,comp);
subplot(312),plot(yiir),title('Por IIR - Butterworth');

% wavelets
[thr,sorh,keepapp] = ddencmp('den','wv',comp); % obtem valores default
xd = wdencmp('gbl',comp,'db2',2,thr,sorh,keepapp); % retira rudo
subplot(313), plot(xd);
title('Por wavelets - Daubechies');

figure,freqz(yconv),title('resp. freq. filtro convoludo');


figure,freqz(ylms),title('resp. freq. filtro LMS');
figure,freqz(yfir),title('resp. freq. filtro FIR');
figure,freqz(yiir),title('resp. freq. filtro IIR');
figure,freqz(xd),title('resp. freq. wavelets - Daubechies');
figure,freqz(yhaar),title('resp. freq. wavelets - Haar');

Concluso

Apesar de no terem sido feitos testes exautivos para controle dos ndices wavelets,
ou ainda o projeto de novas wavelets-me ou novos coeficientes, foi vlida a
comparao como experincia de programao no MATLAB. Foi tambm
interessante comprovar na prtica um pouco da eficcia dos filtros aprendidos
durante o semestre, bem como a teoria de Fourier utilizada na comparao terica
com Wavelets.

Em termos tericos, este relatrio mostrou que wavelets so uma alternativa vivel
para processamento de sinais que no possuem peridiocidade, ganhando a anlise
wavelet por sua representao em funo do tempo. Alis, o tempo de
processamento tambm um aspecto positivo das wavelets.

Por fim, o estudo realizado tornou-se muito positivo porque comprovou a validade
das wavelets para processamento de sinais de fala, ponto de interesse deste autor e
aplicao wavelet citada em diversos artigos.

Referncias Bibliogrficas

[EDW 92] EDWARDS, T. Discrete Wavelets Transforms: Theory and


Implementation. Stanford University. Site:
ftp://isl.stanford.edu/pub/godfrey/reports/wavelets/tim_edwards/wave_paper/wave_p
aper.ps

[GOP 93] COPINATH, R. A. & BURRUS, C. S. A Tutorial Overview of Filter


Banks, Wavelets and Interrelations. Proceedings of ISCAS-93. Disponvel no site:
ftp://cml.rice.edu/pub/reports/9301.ps.Z
[GRA 95] GRAPS, A. An Introduction to Wavelets. IEEE Computational Science
and Engineering, Los Alamitos, Summer 1995. Disponvel no site:
http://www.amara.com

[RAB 99] RABELLO, T. N. Wavelets e Redes Neurais. Anais da V Escola de


Redes Neurais. IV CBRN, So Jos dos Campos, julho de 1999, pp. c001-c027.

[REI 95] REISSEL, L. M. Multiresolution and Wavelets. Siggraph95 Course


Notes: Wavelts. pp. 37-70.

[SAY 96] SAYOOD, K. Introduction to Data Compression. San Francisco: Morgan Kaufmann
Pub., 1996.

[SWE 95] SWELDENS, W. & SCHRDER, P. Building Your Own Wavelets at


Home. Siggraph95 Course Notes: Wavelts. pp. 71-105.

[VID 91] VIDAKOVI, B. & MLLER, P. Wavelets for kids A Tutorial


Introduction. Duke University. Site:
ftp://ftp.isds.duke.edu/pub/WorkPapers/94-13-1.ps