Utilização de wavelets na análise de eletrocardiogramas

Propaganda
UNIVERSIDADE PRESBITERIANA MACKENZIE
ESCOLA DE ENGENHARIA
ENGENHARIA ELÉTRICA
HENRIQUE MOREIRA DE OLIVEIRA
DESCONTAMINAÇÃO DE SINAIS DE ELETROCARDIOGRAMA
UTILIZANDO WAVELETS
São Paulo
2008
2
HENRIQUE MOREIRA DE OLIVEIRA
DESCONTAMINAÇÃO DE SINAIS DE ELETROCARDIOGRAMA UTILIZANDO
WAVELETS
Trabalho de Graduação Interdisciplinar apresentado ao Curso de Engenharia Elétrica da Escola
de Engenharia da Universidade Presbiteriana
Mackenzie, como requisito parcial à obtenção do
grau de Bacharel em Engenharia.
ORIENTADOR: PROFESSOR DOUTOR MARCIO EISENCRAFT
São Paulo
2008
3
AGRADECIMENTOS
Ao meu orientador, Professor Marcio Eisencraft, os conselhos, sugestões e idéias que foram
de grande valia e muito acrescentou ao meu conhecimento.
Aos meus pais todo apoio, dedicação, comprometimento e motivação que sempre me inspiraram durante todos esses anos.
A todos os amigos, em especial à Milena Cicco de Godau, pela diária convivência e os momentos passados juntos que marcaram esse período de vida.
À Escola de Engenharia Mackenzie e à FAPESP pelo apoio parcial na participação no XXVI
Simpósio Brasileiro de Telecomunicações.
4
RESUMO
O objetivo deste trabalho é analisar o uso das transformadas wavelets para eliminar interferências e ruídos em sinais de eletrocardiograma (ECG). Esta técnica é conhecida como descontaminação. É feita uma revisão sobre o assunto, descrevendo-se suas bases matemáticas,
aplicações e as wavelets utilizadas. Uma revisão da literatura sobre ECG também é feita tendo
seu enfoque nas características desse sinal. Para testar as técnicas de descontaminação é inserido ruído branco gaussiano em sinais de ECG sintéticos que são tratados por meio de algoritmos utilizando o programa de simulação numérica Matlab®. A verificação do resultado é
feita por meio de comparações entre sinais originais, sinais contaminados e sinais recuperados
por diferentes transformadas wavelets. Os resultados destas análises buscam mostrar a importância da descontaminação dos sinais para os diagnósticos médicos que dependem de um sinal
de qualidade para resultados precisos.
Palavras-chave: Descontaminação, Wavelets, Eletrocardiograma.
5
ABSTRACT
The objective of this work is to analyze the use of wavelet transforms to remove interference
and noise in electrocardiogram signals (ECG). This technique is called denoising. We review
this subject, describing their mathematical bases, applications and some of the wavelets used.
A summary description of ECG signals is presented, focusing on their characteristics. To test
the denoising techniques, white gaussian noise is added to synthetic ECG signals, that are
processed later by algorithms using the numeric simulation software Matlab®. To check the
results the original signal, the contaminated signal and the recovered signal by different wavelet transforms are compared. The analysis results show the denoising relevance for medical
diagnostics that need a quality signal to be precise.
Keywords: Denoising, Wavelets, Electrocardiogram.
6
LISTA DE ILUSTRAÇÕES
Desenho 1 - Componentes do coração .....................................................................................11
Diagrama 1 - Derivações bipolares .........................................................................................13
Diagrama 2 - WCT..................................................................................................................14
Diagrama 3 - Derivações aumentadas.....................................................................................14
Esquema 1 - Triângulo de Einthoven...................................................................................... 15
Diagrama 4 - Derivações precordiais ......................................................................................16
Gráfico 1 - Elementos do sinal de eletrocardiograma .............................................................17
Gráfico 2 - Batimento cardíaco sintético................................................................................,.19
Gráfico 3 - Sinal de ECG sintético contaminado com ruído branco gaussiano.......................19
Gráfico 4 - Wavelet de Daubechies..........................................................................................25
Gráfico 5 - Wavelet de Haar.....................................................................................................26
Gráfico 6 - Wavelet Symlets....................................................................................................27
Gráfico 7 - Wavelet Coiflets....................................................................................................27
Gráfico 8 –Trecho de ECG sintético usado nas simulações ....................................................32
Gráfico 9 - Variação do ganho de cada wavelet variando-se o número de níveis de
decomposição ...........................................................................................................................34
Gráfico 10 - Variação do ganho de cada wavelet com a relação sinal ruído de
entrada..........355
Gráfico 11 - a) sinal original, b) sinal contaminado, c) sinal recuperado com db9, d) sinal
recuperado com haar, e) sinal recuperado com sym2 e f) sinal recuperado com coif 2...........36
Gráfico 12 - Variação do ganho de cada wavelet com o número de níveis de decomposição 37
Gráfico 13 -Variação do ganho de cada wavelet com a relação sinal ruído de entrada ..........37
Gráfico 14 - a) sinal original, b) sinal contaminado, c) sinal recuperado com db9, d) sinal
recuperado com haar, e) sinal recuperado com sym2 e f) sinal recuperado com coif2............38
Gráfico 15 - Sinais de eletrocardiograma: a) sinal original; b) Sinal contaminado; c) sinal
recuperado; d) erro entre o sinal original e o contaminado; e) erro entre o sinal original e o
recuperado.................................................................................................................................39
7
SUMÁRIO
1
1.1
2
2.1
2.2
2.2.1
2.2.2
2.3
3
3.1
3.2
3.2.1
3.2.2
3.2.3
3.3
4
4.1
4.2
4.3
5
INTRODUÇÃO ............................................................................................................. 8
ESTRUTURA DO TRABALHO ....................................................................................9
SISTEMA CARDIOVASCULAR E ELETROCARDIOGRAMA......................... 10
FISIOLOGIA DO CORAÇÃO E DISTÚRBIOS CARDÍACOS .................................10
ELETROCARDIOGRAMA..........................................................................................12
Aquisição do sinal de eletrocardiograma ..................................................................13
Morfologia do sinal de ECG .......................................................................................16
SINAL DE ELETROCARDIOGRAMA SINTÉTICO.................................................18
WAVELETS.................................................................................................................. 20
TRANSFORMADA WAVELET ..................................................................................20
TIPOS DE WAVELETS ................................................................................................24
Wavelets de Daubechies ..............................................................................................25
Wavelets de Haar.........................................................................................................25
Wavelets Symlets e Coiflets ........................................................................................26
DESCONTAMINAÇÃO DE SINAIS VIA WAVELET SHRINKAGE ........................28
SIMULAÇÕES ............................................................................................................ 31
SINAL DE ENTRADA ................................................................................................31
SINAL CONTAMINADO COM RUÍDO BRANCO GAUSSIANO..........................31
SINAL CONTAMINADO COM SENOIDE ...............................................................35
CONCLUSÕES............................................................................................................ 41
REFERÊNCIAS.......................................................................................................... 42
APÊNDICE A............................................................................................................... 44
APÊNDICE B – ARTIGO PUBLICADO NOS ANAIS DO XXVI SIMPÓSIO
BRASILEIRO DE TELECOMUNICAÇÕES (SBrT 2008) .....................................47
8
1
INTRODUÇÃO
Um sinal é a representação de uma informação em função de uma determinada
variável, geralmente o tempo (BRUCE, 2001). A variação da temperatura num ambiente, a
corrente elétrica num circuito e o som de um instrumento podem ser representados por meio
de sinais.
Os impulsos elétricos do corpo humano também podem ser representados dessa
forma. Dentre os diversos sinais contidos nessa área, destaca-se o de eletrocardiograma
(ECG), que consiste no registro da variação dos potenciais elétricos gerados pela atividade
elétrica do coração (NORTHROP, 2003).
Todos os sinais estão sujeitos a ruídos introduzidos em sua captação que prejudicam seu processamento. Os sinais biológicos, em especial o sinal de ECG, por terem pequenas amplitudes, devem ser tratados para que tenha-se a maior redução do nível de ruído no
sinal. Esse processo é denominado descontaminação (RAO, 1998; NORTHROP, 2003).
Para sinais de ECG a descontaminação se faz necessária pela nitidez e clareza
que os diagnósticos exigem já que distúrbios cardíacos podem ser determinados em pequenas
variações de sua forma de onda (BRUCE, 2001). Com o intuito de suprimir ruídos dos sinais,
a aplicação de transformadas wavelets vem se mostrando uma importante alternativa (RAO,
1998; OLIVEIRA, 2007; BRUCE, 2001; ERÇELEBI, 2003; KAISER, 2001).
As wavelets tiveram sua primeira menção na tese de Alfred Haar em 1909 e
tiveram sua introdução no meio acadêmico e científico no inicio da década de 80 por Alex
Grossman e Jean Morlet (OLIVEIRA, 2007). Essa técnica consiste em dividir os sinais, a partir de um padrão inicial chamado wavelet mãe, em diferentes sinais que quando somados fornecem o original (BURRUS; GOPINATH, 1998). Nessa decomposição pode-se detectar, para
cada diferente nível, se o ruído esta prevalecendo ou não em relação ao sinal original, podendo-se descartar os níveis com maiores quantidades de ruído (STRANG; NGUYEN, 1996).
O objetivo deste trabalho é analisar a descontaminação de sinais de ECG por
meio de transformadas wavelets, visando-se obter uma melhor relação sinal-ruído de saída em
comparação com a de entrada.
Os resultados deste trabalho foram publicados nos anais do XXVI Simpósio
Brasileiro de Telecomunicações (SBrT’08) realizado de 02 a 05 de Setembro no Rio de Janeiro também na forma de pôster.
Para a realização deste estudo utilizam-se sinais de eletrocardiograma sintéticos, contaminados com ruído branco gaussiano ou com senóide. Esses sinais são descontami-
9
nados e a eficiência do método é medida por meio de comparações entre a entrada e saída do
sistema sendo essa representada pelo ganho do processo.
1.1
ESTRUTURA DO TRABALHO
O trabalho está estruturado em cinco capítulos e dois apêndices.
No Capítulo 2 são abordados o sistema cardiovascular e o ECG, descrevendose a fisiologia do coração, algumas de suas possíveis patologias, a aquisição do ECG e suas
características.
O Capítulo 3 contém a definição da transformada wavelet e suas características,
em especial as das famílias que fazem parte das simulações deste trabalho. Mostra-se ainda o
processo de wavelet shrinkage, que é o método utilizado para a descontaminação dos sinais de
ECG nas simulações.
O Capítulo 4 apresenta as simulações de descontaminação dos sinais de eletrocardiograma. O processo é realizado com o auxilio do programa de simulações numéricas
Matlab®, utilizando sua toolbox wavelets e por meio de algoritmos desenvolvidos. Os resultados são mostrados em gráficos em que sua eficiência é medida por meio do ganho do sistema.
O Capítulo 5 trata das conclusões do trabalho, mostrando os resultados comparativos entre as wavelets utilizadas bem como entre os níveis de decomposição e a relação
sinal-ruído de entrada.
O Apêndice A traz os programas desenvolvidos para geração do sinal de Eletrocardiograma, sua contaminação e descontaminação utilizados nas simulações do trabalho.
O Apêndice B contém o artigo apresentado no XXVI Simpósio Brasileiro de
Telecomunicações bem como seu pôster.
10
2
SISTEMA CARDIOVASCULAR E ELETROCARDIOGRAMA
As pesquisas realizadas ao longo dos séculos sobre o coração são muitas. Assunto de grande interesse foi alvo de importantes pesquisadores como Leonardo da Vinci, que
afirmou que este era um corpo muscular oco e Willian Harvey, médico inglês, que em 1628
concluiu que o coração é o centro de um circuito sanguíneo fechado (SILIPO; MARCHESI,
1998).
Basicamente o coração é uma bomba distribuidora de nutrientes para o corpo
humano. Dado sua importância e a de seu estado, vários exames são realizados para se obter
diagnósticos referentes ao coração, dentre eles o eletrocardiograma (ECG) que é considerado
de grande importância para sua análise (GESELOWITZ, 1989).
Na seção 2.1 são discutidos os estudos dos principais aspectos fisiológicos do
coração, os distúrbios e possíveis problemas patológicos que podem ocorrer com este órgão.
Na seção 2.2 são estudadas as características do sinal de ECG e sua aquisição, e na seção 2.3 a
obtenção de um sinal de eletrocardiograma sintético.
2.1
FISIOLOGIA DO CORAÇÃO E DISTÚRBIOS CARDÍACOS
O coração é o órgão responsável pelo bombeamento do sangue para o corpo
todo. Sua estrutura externa é constituída pelo músculo atrial, o músculo ventricular e as fibras
excitatórias e condutoras. Seu interior é dividido em 4 cavidades: átrios esquerdo e direito e
ventrículos esquerdo e direito. Os átrios recebem o sangue e o distribui pelas veias e os ventrículos são responsáveis por bombear o sangue pelas artérias. Para controlar o sangue que
circula pelo órgão existem 4 válvulas: tricúspide, mitral, pulmonar e a aórtica (RANGAYYAN, 2002).
No Desenho 1 são mostrados os componentes do coração por meio de uma representação esquemática.
Durante o intervalo de um batimento cardíaco são identificadas duas fases distintas de atuação cardíaca: sístole e diástole (RANGAYYAN, 2002).
A sístole é a fase de contração em que o sangue é bombeado da seguinte forma:
o sangue venoso, com baixa concentração de oxigênio, do ventrículo direito passa pela válvula pulmonar para que seja oxigenado nos pulmões e o sangue arterial do ventrículo esquerdo
11
vai para a artéria através da válvula aórtica, para ser distribuída para todo o corpo (RANGAYYAN, 2002).
Desenho 1 - Componentes do coração
Fonte: Rangayyan (2002, p.18)
A diástole é a fase de relaxamento do coração, o sangue preenche as cavidades
de entrada. No processo o átrio direito coleta o sangue venoso das veias cavas superiores e
inferiores e passa para o ventrículo direito através da válvula tricúspide durante a contração
atrial. Simultaneamente o átrio esquerdo recebe o sangue arterial vindo dos pulmões e o passa
para o ventrículo esquerdo através da válvula mitral (RANGAYYAN, 2002; GESELOWITZ,
1989).
Os músculos cardíacos contraem-se de modo diferente dos músculos comuns.
Enquanto os músculos comuns são comandados por neurônios motores, os músculos do coração são controlados por células marca-passo que se despolarizam e repolarizam espontaneamente gerando aos músculos do coração um movimento rítmico (RANGAYYAN, 2002).
O principal marca-passo se encontra no nó sinoatrial que se localiza na junção
do átrio direito com a veia cava superior. O controle da taxa de batimentos é determinada pela
presença de adrenalina ou aceticolina, sendo a primeira responsável pelo aumento da taxa de
batimentos e a segunda responsável pela sua diminuição (RANGAYYAN, 2002)..
Existe uma variedade de problemas cardíacos, que pode-se detectar, observando distúrbios nos sistemas de condução elétrico e em regiões do coração, como músculos e
12
tecidos. As alterações patológicas podem ser divididas em 3 tipos principais: i) arritmias, ii)
isquemias e iii) alterações crônicas nas estruturas mecânicas do coração.
A arritmia é um problema na velocidade e no ritmo dos batimentos cardíacos.
Dois dos eventos indesejados são a geração ou extinção dos batimentos quando encontram um
tecido alterado, ou alteração na velocidade de condução desses batimentos pelos tecidos do
coração. Dependendo do caso, pode-se não ter um batimento homogêneo, em que o batimento
se direciona apenas para um lado do coração, comportando-se assim como um bloco unidirecional. Os batimentos também podem ficar circulando, formando circuitos fechados fazendo
com que o coração se comporte de modo anormal. Alguns dos problemas relacionados a arritmia que podem ser ocasionados por essas alterações são a taquicardia , que é o batimento
acelerado do coração, a braquicardia, batimento lento do coração, e a fibrilação que é o batimento não rítmico do coração (KILPATRICK, JOHNSTON, 1994).
A isquemia se caracteriza pela obstrução do sistema circulatório devido a presença de substâncias nos canais do sistema circulatório. Neste caso a entrega de nutrientes às
células e tecidos corpóreos sofre diminuição devido ao fluxo insuficiente de sangue. Pode-se
ter uma isquemia total, quando o fluxo arterial não é suficiente para manter a vida celular, e
parcial quando se mantém a vida celular, porém com enfraquecimento do tecido (KILPATRICK, JOHNSTON, 1994).
As alterações das estruturas mecânicas são caracterizadas por problemas nos
músculos e cavidades do coração. Seus tamanhos e capacidades podem ser alterados gerando,
por exemplo, um aumento atrial e a hipertrofia do ventrículo esquerdo (KILPATRICK,
JOHNSTON, 1994).
2.2
ELETROCARDIOGRAMA
Geralmente as células são eletricamente polarizadas devido a seu interior apresentar potencial elétrico negativo em relação ao meio exterior. As células de músculos e nervos são capazes, em um curto espaço de tempo de se despolarizarem e voltar a seu estado
normal de polarização. Devido a este fenômeno surgem diferenças de potências por causa dos
movimentos dos íons pela membrana celular gerando correntes e campos elétricos pelo corpo
(GESELOWITZ, 1989).
Para medir esses potenciais, eletrodos são colocados em pontos sobre o coração
e membros do corpo. Enquanto algumas células contribuem com sua fase de despolarização,
13
outras estão em repouso e outras ainda em fase de repolarização. O sinal de ECG é representado pela somatória de todas essas manifestações geradas pela atividade do coração (GONÇALVES FILHO, 1999).
2.2.1
AQUISIÇÃO DO SINAL DE ELETROCARDIOGRAMA
Para realizar a aquisição dos sinais de ECG são colocados eletrodos no braço
esquerdo, direito, perna esquerda e no tórax. Um eletrodo também é colocado na perna direita
para servir de referência e retirar a interferência externa. Na prática os exames de ECG são
realizados com o paciente em atividades físicas, por esse motivo os eletrodos dos braços são
colocados próximos ao tórax e os das pernas próximos ao abdômen para facilitar a movimentação do paciente. Esses pontos de colocação dos eletrodos não alteram a qualidade do sinal
obtido pois os potências nas extremidades dos membros, tórax e abdômen são praticamente os
mesmos dos pulsos e tornozelos (GOLÇALVES FILHO, 1999).
Os sinais de ECG são obtidos por meio de derivações. Cada uma das derivações é um arranjo de eletrodos ponderados algumas vezes com resistores. O sistema padrão é
composto por 12 derivações divididas em 3 grupos: as derivações bipolares, aumentadas e
precordiais (GESELOWITZ, 1989).
As derivações bipolares são compostas por sinais de diferença de potencial entre os membros do corpo, menos o do sinal de referência da perna direita. A diferença de potencial entre os braços é denominada como derivação I, a diferença entre a perna esquerda e o
braço direito é chamado de derivação II e a diferença entre a perna esquerda e o braço esquerdo é a derivação III. Essas derivações são mostradas no Diagrama 1.
Diagrama 1 - Derivações bipolares
14
As derivações aumentadas e precordiais são obtidas em relação a uma referência chamada de terminal central de Wilson (WCT – Wilson’s Central Terminal). Ela é obtida
por meio da junção das potências dos membros por meio de resistores ligados a todos os eletrodos, menos o de referência da perna direita como mostrado no Diagrama 2. Esse potencial
é a média da distribuição de potencial na superfície do tronco (GESELOWITZ, 1989).
Diagrama 2 – WCT
As derivações aumentadas são obtidas entre a perna esquerda, braço direito,
braço esquerdo e o WCT. O resistor ligado ao WCT referente ao membro a ser medido é aberto e ligado diretamente ao amplificador operacional, o que causará um aumento de 50% na
amplitude do sinal. As derivações aumentadas são conhecidas como VR, que é a diferença
entre o braço direito e o WCT, VL, diferença entre o braço esquerdo e o WCT e VF que representa a diferença entre a perna esquerda e o WCT. Essas derivações são mostradas no Diagrama 3.
Diagrama 3 - Derivações aumentadas
As derivações bipolares e aumentadas podem ser representadas conforme o esquema determinado como triângulo de Einthoven. Esse se trata de um triângulo eqüilátero
15
formado pelas derivações I, II, e III. O baricentro do triângulo representa o WCT. O coração
está localizado no centro do triângulo e cada uma das derivações mede uma projeção do vetor
elétrico cardíaco. Sua amplitude é medida pela quantidade de massa muscular contraída e seu
sentido é dado pelo espalhamento do impulso de despolarização. Essas projeções permitem
que as atividades elétricas do coração sejam analisadas a partir de diferentes perspectivas do
plano frontal (RANGAYYAN, 2002).
Esquema 1 - Triângulo de Einthoven
As seis derivações precordiais são obtidas das diferenças de potencial entre as
seis posições padronizadas do peito, representadas pelo diagrama 4, e do WCT. As derivações
V1 e V2 são obtidas por meio da colocação do eletrodo no quarto espaço entre as costelas, à
direita e à esquerda do esterno respectivamente. V4 é obtido a partir do quinto espaço entre as
costelas do lado esquerdo, na linha média da clavícula. V3 é obtida na posição média entre V2
e V4. V5 e V6 são colocadas na mesma altura que V4, mas nas linhas anterior e do meio da
axila respectivamente. Estas seis derivações permitem a análise do vetor elétrico do coração a
partir de diferentes orientações de um plano de secção cruzada. V5 e V6 são mais sensíveis à
atividade do ventrículo esquerdo. V3 e V4 mostram a atividade do septo cardíaco (região entre cavidades) e V1 e V2 representam a atividade do lado direito do coração (RANGAYYAN,
2002).
Portanto o sinal de ECG é obtido na saída do amplificador operacional mostrado no Diagrama 4, sendo a soma de todas as derivações já citadas. Uma vez tendo este sinal,
pode-se determinar, por meio de suas características, patologias que podem ocorrer no coração (RANGAYYAN, 2002). Deste modo se torna importante o conhecimento de sua morfologia para um correto diagnóstico.
16
Diagrama 4 - Derivações precordiais
2.2.2
MORFOLOGIA DO SINAL DE ECG
Um sinal de ECG pode ser dividido em ondas segmentos e intervalos.
Cada um desses representa a evolução da atividade elétrica do coração que inicia uma contração muscular. No gráfico 1 são mostrados os principais pontos do sinal de eletrocardiograma
(MCSHARRY, 2003).
Os elementos que compõem o sinal de eletrocardiograma podem ser descritos
da seguinte maneira (MCSHARRY, 2003; KILPATRICK, 1994; GONÇALVES FILHO,
1999):
•
Onda P: O ciclo cardíaco inicia-se com a onde P, reflexo da ativação da musculatura
atrial derivada de sua despolarização. Seu aspecto é arredondado, possui pequena amplitude e é simétrico. Sua duração normal é de aproximadamente 100 ms e tem amplitude máxima de 0,25 mV. Um aumento da voltagem ou tempo de duração desta onda
indica uma anomalia atrial.
•
Segmento PR: Trecho da linha isoelétrica, conhecida também como linha de base, que
se inicia no final da onda P e acaba no início da deflexão do complexo QRS. Ocorre
devido ao tempo que o estímulo elétrico leva para atingir os ventrículos. Dependendo
da freqüência cardíaca leva em torno de 120 a 210 ms.
17
•
Complexo QRS: está relacionado a despolarização ventricular. Sua forma de onda é
variável com maior amplitude nas derivações precordiais. Em pacientes adultos, sua
duração varia entre 60 e 100 ms.
•
Segmento ST: é o trecho entre o final do complexo QRS e o início da onda T. Representa o tempo em que os ventrículos estão em estado ativo e a repolarização ventricular pode ser iniciada. Pode possuir aspecto ligeiramente curvo voltado para cima, sem
que isto signifique uma anomalia.
•
Onda T: representa a repolarização ventricular. Seu aspecto é arredondado e pode ser
ligeiramente assimétrica com a borda de subida mais suave em relação à borda de
descida. Como segmento ST tem solução de continuidade com a onda T, é difícil distinguir com precisão o final do segmento ST e o início da onda T. Assim como o intervalo PR, o intervalo QT varia com a freqüência cardíaca.
•
Intervalo QT: é o intervalo que corresponde ao início do complexo QRS e ao final da
onda T. Sua duração total é equivalente à duração total da sístole ventricular.
Gráfico 1 - Elementos do sinal de eletrocardiograma
18
2.3
SINAL DE ELETROCARDIOGRAMA SINTÉTICO
Pode-se extrair importantes informações clínicas analisando as componentes do
sinal de eletrocardiograma por meio da utilização de técnicas de processamento digital de
sinais. Variações dessas componentes revelam importantes características fisiológicas do paciente que está sendo submetido a esse exame (MCSHARRY, 2003).
Atualmente novos algoritmos de processamento de sinais biomédicos são desenvolvidos para serem aplicados em sinais de ECG de banco de dados eletrônicos que são
obtidos por meio de amostras reais de pacientes, estando sujeito a variações e ruídos (MCSHARRY, 2003).
É possível determinar a eficiência de um certo método para um determinado
sinal, porém não se pode garantir seu funcionamento com diferentes níveis de ruído e freqüência de amostragem. Portanto tendo acesso a um sinal de ECG artificial realístico o desenvolvimento desses algoritmos pode ser facilitado (MCSHARRY, 2003).
Neste trabalho são utilizados sinais de ECG artificiais obtidos por meio de técnicas utilizadas por McSharry e Clifford com uma morfologia PQRST, ou seja, das componentes do ECG, realista e já conhecidas dinâmicas na taxa de batimentos cardíacos (MCSHARRY, 2003).
Para a obtenção do sinal ECG sintético é utilizado o algoritmo ecgsyn.m desenvolvido para o programa de simulações numéricas Matlab®. Esse algoritmo possui como
parâmetros de saída o sinal de ECG e as posições dos elementos do sinal definidos pela variável “ipeaks” (MCSHARRY, 2003). Para se obter o sinal de ECG deve-se fornecer como
parâmetros de entrada a freqüência de amostragem, o número de batimentos cardíacos, a
quantidade de ruído aditivo, a taxa de batimentos por minuto e o desvio padrão da taxa de
batimentos (MCSHARRY, 2003).
Para a aquisição do sinal de ECG neste trabalho, utilizando o algoritmo
ecgsyn.m, foram usados os seguintes parâmetros de entrada: i) freqüência de amostragem
de 256 Hz, ii) 256 batimentos cardíacos, iii) 60 batimentos por minuto, iv) desvio padrão da
taxa de batimentos e ruído aditivos nulos.
O propósito deste modelo é fornecer sinais de ECG padronizados que podem se
gerados com estatísticas especificas como as variações nos batimentos cardíacos (MCSHARRY, 2003).
19
Os gráficos 2 e 3 apresentam exemplos de um batimento cardíaco e um sinal de
ECG contaminado com ruído branco gaussiano respectivamente, obtidos por meio do algoritmo citado.
Sinal ECG
1.2
1
Amplitude (mV)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
0
0.2
0.4
0.6
0.8
1
1.2
Tempo (s)
1.4
1.6
1.8
2
Gráfico 2 – Batimento cardíaco sintético
Sinal de ECG com ruído
1.4
1.2
1
Amplitude (mV)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
0
0.5
1
1.5
2
Tempo (s)
2.5
3
3.5
4
Gráfico 3 – Sinal de ECG sintético contaminado com ruído branco gaussiano
20
3
WAVELETS
A análise de sinais constitui uma das mais importantes ferramentas no processamento digital de sinais (OLIVEIRA, 2007). Essa análise pode ser feita por meio das transformadas de Fourier, porém ela se torna ineficaz para determinadas situações em que o sinal
não é estacionário tendo variação de suas características estatísticas com o tempo, como foi
percebido por Alex Grossmann e Jean Morlet enquanto analisavam sinais geofísicos destinados a exploração do petróleo (OLIVEIRA, 2007).
Após essa constatação o conceito de wavelets foi introduzido no meio científico pela escola francesa tendo como suas bases os pesquisadores Morlet, Grossmann, Mallat,
Meyer entre outros (OLIVEIRA, 2007).
Neste capítulo são apresentados as definições das transformadas wavelets, os
tipos de wavelets utilizadas no trabalho por meio de gráficos e expressões e a descrição do
processo de descontaminação conhecido como wavelet shrinkage.
3.1
TRANSFORMADA WAVELET
Para introduzir a definição de transformada wavelet, é necessário relembrar
algumas noções sobre decomposição de funções em séries. Considere inicialmente uma função f contida no espaço L2 (ℝ) . Portanto, a energia da função f é limitada ao longo de todo
o eixo dos reais, isto é (OLIVEIRA, 2007):
∞
∫
f (t ) dt < ∞ .
2
(1)
−∞
Para o espaço L2 (ℝ) a norma e o produto escalar são definidos como a seguir:
f ,g =
∞
∫
f (t ) g (t )dt
(2)
−∞
f =
f, f .
(3)
Se a função g possuir norma unitária, então o resultado do produto escalar entre f e g corresponderá à operação de projeção de f sobre g .
21
Considere, agora, um conjunto de funções ortonormais, ou seja, todos os vetores do conjunto possuem norma igual a 1 e ortogonais entre si, ψ k (t ) , k ∈ ℕ , formando um
conjunto de vetores linearmente independentes, também conhecido como base, para o espaço
L2 (ℝ) . Pela condição de ortogonalidade
ψ m ,ψ n = 0 , para todo m ≠ n .
(4)
Define-se então a expansão da função f em uma série ortonormal como sendo a combinação linear das funções de base ψ k (t ) ponderadas pelas projeções de f sobre
cada uma delas, isto é, (MALLAT, 1999)
f (t ) =
∞
∑
k =−∞
f ,ψ k .ψ k (t ) =
∞
∑ Fψ
k =−∞
k
k
,
(5)
em que Fk = f ,ψ k , k ∈ N , define a transformada da função f . Dentro desta abordagem,
está o fato da base ψ k (t ) possuir suporte, que é o menor subconjunto fechado do domínio
onde a função não é nula, igual a toda extensão do eixo real, isto é, cada função de base ψ k (t )
decai a zero somente nos limites ±∞ . No entanto, se a base possuir suporte limitado, decaindo
para zero muito rapidamente, então uma eficiente maneira desta base cobrir o eixo dos reais é
através de translações do tipo ψ k ,l (t ) = ψ k (t − l ) , l ∈ ℕ (MALLAT, 1999).
Por fim, observando a base da transformada de Fourier, pode-se constatar que
cada função de base – as exponenciais complexas – é obtida a partir de simples dilatações na
freqüência (OLIVEIRA, 2007)
∞
F (ω ) =
∫
f (t )e− jωt dt .
(6)
−∞
Reunindo estas duas propriedades – dilatação e translação – em um único protótipo de função de base, obtem-se as funções wavelet contínuas ortonormais, em que as dilatações e as translações são dadas por duas variáveis nomeadas a ∈ ℕ e b ∈ ℝ respectivamente, (KAISER, 1994)
ψ a ,b (t ) =
1  t −b 
ψ

a  a 
(7)
22
de forma que a transformada wavelet é definida como (OLIVEIRA, 2007)
∞
f ,ψ a ,b =
∫
−∞
 t −b 
f (t ).ψ 
 dt .
 a 
(8)
As versões discretas da transformada podem ser obtidas discretizando-se as dilatações e as translações. Assumindo dilatações binárias e translações unitárias, as funções de
base wavelet tornam-se (KAISER, 1994)
ψ m ,n (t ) = 2− m /2ψ (2m t − n)
(9)
sendo que a = 2 − m e b = n 2− m . A transformada wavelet discreta será então definida como
f (t ) =
∞
∞
∑∑
m =−∞ n =−∞
f ,ψ m ,n .ψ m ,n (t ) .
(10)
Através do conceito de análise em multiresolução, pode-se construir famílias
de wavelets discretas e desenvolver algoritmos rápidos para o cálculo da transformada. A análise em multiresolução parte da existência de duas funções básicas, uma função wavelet
mãe ψ (t ) e uma função de escala mãe ϕ (t ) , ortogonais entre si e tais que, ao longo dos diversos níveis de resolução, as diversas funções de escala ϕ m ,n (t ) e wavelet ψ m, n (t ) estão relacionadas às respectivas funções mãe por meio da seguintes equações (MALLAT, 1999):
ϕ m, n (t ) = 2− m / 2 ϕ (2m t − n) ,
(11)
ψ m ,n (t ) = 2− m /2ψ (2m t − n) .
(12)
A relação entre os níveis de resolução pode ser descrita sob a forma de um aninhamento dos espaços de função, em que cada espaço de maior resolução contém os espaços de menor resolução, ou seja, (MALLAT, 1999)
... ⊂ V−2 ⊂ V−1 ⊂ V0 ⊂ V1 ⊂ V2 ...
(13)
Cada espaço Vm é coberto pela família de funções de base ϕ m ,n (t ) correspondente. As funções wavelet ψ m, n (t ) estão contidas nos espaços Wm , sendo cada espaço Wm o
23
complemento ortogonal de Vm em relação ao espaço Vm +1 . Desta forma, escreve-se a relação
entre dois níveis adjacentes de resolução como (STRANG, 1996)
Vm +1 = Vm ⊕ Wm .
(14)
em que o símbolo ⊕ representa a operação de soma direta, que é a soma de dois subespaços
vetoriais quando sua interjeição é nula. Uma vez que Vm e Wm estão contidos em Vm +1 , então
ambos os conjuntos de funções de base podem ser expressos como combinação linear das
funções de base de Vm +1 , sendo cada uma delas ponderada pelos coeficientes h0 [n] e h1[n] ,
responsáveis pela relação de ortogonalidade entre as funções e definido como:aa
h[n] = ϕ0,0 , ϕ1,n
(15)
Portanto (MALLAT, 1999)
ϕ m, n (t ) = ∑ h0 [k − 2n].ϕm +1,k (t )
(16)
k
ψ m, n (t ) = ∑ h1[k − 2n].ϕm +1,k (t )
(17)
k
Estando a função f contida no espaço Vm +1 , então f pode ser expressa como
combinação linear das funções de base ϕ m +1,n (t ) . De forma similar, projetando f em Vm e
Wm e escrevendo estas projeções em função das bases de Vm e Wm , é possível relacionar as
projeções de f e os diversos níveis de refinamento da seguinte forma: (DAUBECHIES,
1990)
am +1, k = f , ϕm +1,k amn = f ,ψ m ,n .
(18)
Aplicando (16) e (17) na equação (18), obtém-se:
am ,n = f , ϕm ,n = ∑ h0 [k − 2n]. f , ϕm +1,k = ∑ h0 [k − 2n].am +1, k
k
k
(19)
24
e dado que Vm +1 é a soma direta dos espaços Vm e Wm . Pode-se expressar a base de Vm +1 como
combinação linear das bases de Vm e Wm em que cada uma delas está ponderada pelos coeficientes g0[n] e g1[n], responsáveis pela relação de ortogonalidade entre as funções e definido
como:
g n = ψ 0,0 , ϕ1,n
(20)
Então (MALLAT, 1989)
ϕ m +1,k (t ) = ∑ g 0 [k − 2n].ϕm ,n (t ) + ∑ g1[k − 2n].ψ m ,n (t )
n
(21)
n
Os processos de síntese ou composição e análise ou decomposição descritos
anteriormente podem ser entendidos como a aplicação de filtros passa-baixas e passa-altas
seguidos de uma subamostragem na análise ou precedidos por uma superamostragem na síntese – como nos métodos de codificação de bandas (Subband Coding), em que os coeficientes
{h [n], h [n] } e { g [n], g [n] } formam os bancos de filtros utilizados por estes métodos. Eles
0
1
0
1
correspondem aos bancos de filtros de análise e de síntese respectivamente. Todas as expressões apresentadas até aqui sugerem uma recursão, em que a projeção de f sobre Vm é decomposta em Vm −1 e Wm −1 , a projeção em Vm −1 é decomposta sobre Vm − 2 e Wm − 2 , e assim por
diante. Cada projeção equivale a uma versão menos refinada da projeção anterior (STRANG,
1996). Uma vez que as projeções nos espaços Vm e Wm são ortogonais entre si e complementares em relação ao espaço Vm +1 , a reconstrução da função original através do processo de
síntese é perfeita – isto se não houver perdas entre a decomposição e a reconstrução (POORNACHANDRA, 2007).
3.2
FAMÍLIAS DE WAVELET
Baseado na análise de multiresolução que estabelece os princípios básicos para
a determinação de uma wavelet, diversos pesquisadores desenvolveram estudos e criaram sua
própria família de wavelets para resolução dos mais variados problemas (OLIVEIRA, 2007).
Neste trabalho são apresentadas 4 diferentes famílias de wavelets que serão utilizadas para as simulações sendo elas i) Daubechies, ii) Haar, iii) Coiflets e iv) Symlets (OLIVEIRA, 2007).
25
3.2.1
WAVELETS DE DAUBECHIES
As wavelets de Daubechies são uma família de wavelets ortogonais definindo
uma transformada discreta wavelet e caracterizada pelo máximo número de momentos nulos
para um dado suporte, ou seja, momentos em que a função é nula. Com cada tipo de wavelet
dessa classe há uma função base, chamada wavelet-mãe, que gera uma análise de multiresolução ortogonal (OLIVEIRA, 2007).
Estas wavelets não possuem uma expressão explícita para sua determinação
exceto para a wavelet Daubechies de nível 1, que também é conhecida como wavelet de Haar.
O Gráfico 4 mostra a forma da wavelet-mãe da família de Daubechies de ordem 9, que são as utilizadas neste trabalho, obtida por meio do comando wavefun.m.
Wavelet Daubechies de ordem 9
1.5
1
0.5
0
-0.5
-1
-1.5
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
k
Gráfico 4 - Wavelet de Daubechies
3.2.2
WAVELET DE HAAR
A wavelet de haar é a primeira e mais simples das wavelets, se trata de uma
wavelet descontinua lembra um degrau, e representa o mesmo que a de Daubechies nível 1.
Ela pode ser considerada como uma “wavelet digital” devido sua forma de onda parecer um pulso digital (OLIVEIRA, 2007).
Sua utilização é adequada para sinais que possuem mudanças abruptas de valores no decorrer do tempo e sua representação matemática é dada como segue
26
se x ∈ [0, 0.5[
1,

ψ ( x) = −1,
0,

se x ∈ [0.5,1[
se x ∉ [0,1[
(22)
O Gráfico 5 apresenta a wavelet de haar obtida por meio do comando wavefun.m
Wavelet de Haar
1.5
1
0.5
0
-0.5
-1
-1.5
0
200
400
600
800
1000
1200
k
Gráfico 5 - Wavelet de Haar
3.2.3
WAVELETS SYMLETS E COIFLETS
Essas duas famílias de wavelets são provenientes das wavelets de Daubechies,
e foram solicitadas por Ronald Coifmam para a própria Ingrid Daubechies. Ela propôs modificações em suas wavelets que aumentavam a simetria sem comprometer sua simplicidade. O
conceito se resume basicamente em manter momentos nulos que é definido como,
∞
m0 = ∫ ψ ( x)dx = 1
(23)
−∞
Em que ψ ( x) é a função wavelet, tanto para a função base, quanto para a wavelet-mãe (OLIVEIRA, 2007).
27
O Gráfico 6 apresenta a wavelet symlets de ordem 2 e o Gráfico 7 apresenta a
wavelet coiflets de ordem 2. Ambas as wavelets foram obtidas utilizando o comando wavefun.m
Wavelet Symlets
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
500
1000
1500
2000
2500
3000
3500
k
Gráfico 6 - Wavelet Symlets
Wavelet Coiflets
2
1.5
1
0.5
0
-0.5
-1
0
2000
4000
6000
8000
k
Gráfico 7 - Wavelet Coiflets
10000
12000
28
3.3
DESCONTAMINAÇÃO DE SINAIS VIA WAVELET SHRINKAGE
É conhecido que no mundo real não existe sinal sem ruído. Esse ruído para
propósitos práticos faz com que a interpretação dos sinais se torne mais difícil sendo necessário então a retirada do ruído. O sinal em que o ruído está contido é conhecido como sinal contaminado e o processo para retirá-lo é chamado de descontaminação (TASWELL, 2000).
Existem diferentes métodos para descontaminação de sinais. Um que vem
causando grande impacto na área de processamento de imagem e sinais e a descontaminação
por meio de transformadas wavelets conhecido como wavelet shrinkage (OLIVEIRA, 2007).
Não se deve confundir esse processo com uma suavização do sinal. Enquanto
a suavização remove altas freqüências e mantêm as baixas, a descontaminação visa remover
qualquer ruído presente e manter o sinal sem alteração, não retirando informações por eliminação de uma determinada faixa de freqüência (TASWELL, 2000).
A descontaminação por wavelet shrinkage envolve a compressão do sinal no
domínio das transformadas wavelets e é composto por 3 etapas: i) decompor o sinal por meio
de transformadas wavelets, ii) descontaminar o sinal e iii) reconstruir o sinal por meio da
transformada inversa wavelet (TASWELL, 2000).
Esse procedimento distingue-se dos demais métodos de decontaminação lineares por se tratar de um método não paramétrico, ou seja, não depende de parâmetros estimados anteriormente para sua realização (TASWELL, 2000).
Assumindo um sinal qualquer s (t ) adicionado a um ruído n(t ) tem-se o sinal
contaminado x(t ) representado como
x(t ) = s (t ) + n(t )
(24)
Uma vez tendo este sinal deve-se decompor o mesmo por meio de transformadas wavelets representada por W (.) . O sinal decomposto em seus diversos níveis é submetido
a aplicação de um limiar de corte, abrupto ou suave, λ (descrito posteriormente) que vai eliminar os coeficientes que estejam abaixo do mesmo, no caso de uso de um limiar abrupto,
essa etapa é representada como D (., λ ) . Com os coeficientes indesejados retirados por meio
da aplicação do limiar a transformada wavelet W −1 (.) deve ser aplicada aos dados restantes
para reconstrução do sinal sem o ruído. Desta forma tem-se os 3 passos descritos (TASWELL, 2000):
Y = W ( x)
Z = D (Y , λ )
29
S = W −1 ( Z )
Dado um limiar λ para um dado Y o limiar suave não linear é definido como
D(Y , λ ) ≡ sgn(Y ) max(0, U − λ )
(25)
Onde, sgn representa a função que retorna o sinal do número real, ou seja,
−1, se x < 0

sgn = 0,
se x = 0
1,
se x > 0

(26)
O operador D anula todos os valores nos quais Y = λ e comprime para a origem do sinal por uma quantidade λ todos os valores de U para que U > λ . Por este último
aspecto é que o operador D passou a ser chamado não só de operador de limiar suave, mas
também de operador de compressão (TASWELL, 2000).
Para a determinação do limiar de corte, supõe-se um sinal X que apresente
tamanho n e amostras em n pontos t tal que X i ≡ X ( ti ) . Para uma transformada wavelet
ortogonal W em que haverá n coeficientes de transformada Y j , pode se usar um limiar que
dependa apenas do tamanho da amostra, como um limiar universal ou minimax e pode-se usar
os três passos para descontaminação do sinal (DONOHO, 1994). Entretanto se pretende usar
um limiar adaptativo que dependa não apenas do comprimento do sinal mas também das características do sinal, deve-se incluir um novo passo no procedimento, resultando assim em
um processo de 4 passos como segue (TASWELL, 2000):
Y = W (X )
λ = d (Y )
Z = D (Y , λ )
S = W −1 ( Z )
A partir deste momento a etapa d (.) seleciona o limiar dependendo das características do nível da transformada que irá variar de nível para nível.
Pode-se definir muitos diferentes tipos de procedimentos de descontaminação
variando os tipos de transformadas wavelets e escolhas dos limiares de corte, e ainda definin-
30
do Ds como o limiar suave e Dh como limiar abrupto combinado-os com os tipos adaptativo
ou fixo obtem-se ainda mais possibilidades de procedimentos (TASWELL, 2000).
Esse processo de descontaminação foi desenvolvido por Donoho e Johnstone e
eles introduziram pesquisas para determinação do limiar como o riskshrink, com o limiar minimax, e o visushrink com o limiar universal e discutiram seu uso em formas fixas e adaptativas (DONOHO, 1994).. Para se verificar qual a melhor escolha de limiar para o sinal que se
está estudando deve conhecer a priori as características do sinal que se está trabalhando, que
teoricamente pode ser determinado para comparações e simulações. Deve-se analisar também
qual procedimento deseja-se usar, um limiar fixo para cada nível de decomposição ou um
limiar variável (TASWELL, 2000).
Uma escolha possível de limiar fixo é o limiar universal representado pela equação 26 definido para níveis de l = 1 a l = L (DONOHO, 1994).
λ = 2 log n
(27)
Um exemplo de limiar adaptativo é o limiar minimax, que busca a maximização do ganho mínimo, e que tem seu valor variado com o nível de decomposição (OLIVEIRA, 2007).
Tm =
2 log( K )σ
(28)
K
Tm é o limiar de corte, K é o comprimento do sinal no nível de decomposição que se está
analisando, σ é o desvio padrão do ruído.
Utilizando as informações obtidas os sinais de eletrocardiograma artificiais
são descontaminados com o uso das técnicas de wavelet shrinkage utilizando limiares adaptativos para cada diferente nível de decomposição das transformadas wavelets. Essas simulações foram desenvolvidas com diferentes níveis de relação sinal-ruído de entrada.
31
4
SIMULAÇÕES
Para avaliar o desempenho da descontaminação de sinais de eletrocardiograma
via wavelets foram realizadas simulações variando-se as famílias de wavelets utilizadas, as
relações sinal-ruído de entrada e os níveis de decomposição. Para a análise de todos os fatores
foram utilizados sinais de ECG sintéticos (MCSHARRY, 2003), discutidos na seção 2.3, gerados no Matlab®.
São considerados dois casos:(i) interferência por uma senóide com freqüência
de 60Hz simulando interferência da rede elétrica e (ii) ruído branco gaussiano simulando
ruído experimental na aquisição do sinal
4.1
SINAL DE ENTRADA
O sinal de entrada estudado é um sinal de ECG gerado artificialmente pelo
programa ecgsyn.m desenvolvido por Patrick McSharry e Gari Clifford (MCSHARRY,
2003). O sinal de ECG obtido possui uma amplitude da ordem de milivolts e algumas características padrões, quando não alteradas pelo usuário são de uma freqüência de amostragem de
256 Hz, 256 batimentos cardíacos, 60 batimentos por minuto e sem ruído aditivo .
O Gráfico 8 apresenta o sinal de ECG utilizado para todas as simulações feitas.
Esse sinal apresenta uma freqüência de amostragem de 256 Hz e 60 batimentos cardíacos,
porém serão mostrados apenas 4 para melhor visualização, os outros valores foram mantidos
os quais são discutidos na seção 2.3.
A potência desse sinal é determinada por
Ps =
1
N
N
∑ s [k ]
2
(29)
k =1
em que N é o número de amostras do sinal e s[k ] é o valor do sinal em cada amostra k .
4.2
SINAL CONTAMINADO COM RUÍDO BRANCO GAUSSIANO
Para se realizar as simulações de descontaminação de sinais, um ruído deve ser
adicionado ao sinal de ECG. Primeiramente utiliza-se um ruído branco gaussiano de média
nula.
32
Sinal ECG
1.2
1
Amplitude (mV)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
0
0.5
1
1.5
2
2.5
tempo (s)
3
3.5
4
Gráfico 8 – Trecho de ECG sintético usado nas simulações
Esse ruído é somado ao sinal de ECG gerado fazendo com que esse se torne
um sinal contaminado. A potência do ruído é obtida por
Pr =
Ps
,
SNRin
(30)
em que Pr representa a potência do ruído, Ps é a potência do sinal e SNRin é a relação sinal
ruído de entrada desejada.
Com as potências dos sinais conhecidas deve-se realizar a normalização do sinal contaminado, como descrito na seção 3.3 por meio de (OLIVEIRA, 2007)
sn [ k ] =
s[k ]
N
2m
(31)
em que sn [k ] é o sinal normalizado, s[k ] é o sinal original, N é o comprimento do sinal original e m é o número de níveis de decomposição escolhido.
Tendo o sinal normalizado deve-se aplicar o conceito de transformadas wavelets para a decomposição do sinal, conforme seção 3.3. Essa decomposição é feita por meio de
algoritmos desenvolvidos para o programa de simulação numérica Matlab. Para efeito de simulações nesse trabalho, diversas variáveis são alteradas, como por exemplo, o nível de decomposição, a relação sinal ruído de entrada e o tipo de wavelet utilizada, para que se tenha o
maior número de informações possíveis para a verificação de qual a melhor alternativa para o
método utilizado.
33
Uma vez o sinal decomposto, deve-se aplicar, para os coeficientes de detalhe
de cada nível de decomposição, o limiar definido como
Tm =
2 log( K )σ
K
(32)
em que Tm é o limiar de corte, K é o comprimento do sinal no nível de decomposição que se
está analisando, σ é a potência média do ruído, expressão essa que visa maximizar o ganho
mínimo. Os valores que estão abaixo do limiar são cortados e descartados da recomposição do
sinal, restando apenas os coeficientes que encontrem acima desse valor para se recuperar o
sinal original. O uso desse limiar nessa aplicação é conhecido como limiar abrupto (hard threshold) (TASWELL, 2000).
Após a aplicação do limiar os coeficientes de detalhe restantes de todos os níveis devem ser somados aos coeficientes de aproximação do maior nível de decomposição.
Isso proporciona a recuperação do sinal previamente contaminado, porém ainda normalizado.
Deve-se ainda multiplicar o sinal recuperado pelo mesmo fator de normalização utilizado anteriormente o que encerra o processo.
Após o processo finalizado deve-se definir o parâmetro para que se verifique a
eficiência do método. O parâmetro analisado nesse trabalho, o ganho G do sistema, é definido por
G = SNRin (dB ) − SNRout (dB ) .
(33)
O valor de entrada é conhecido, pois é fornecido como dado de entrada, enquanto a relação sinal ruído de saída é calcula a partir da relação da potência do sinal de saída
calculada conforme expressão (32) e a potência de ruído do sinal recuperado que é a diferença
do sinal original e do sinal recuperado desnormalizado como mostrado em (35).
Psrec =
1
N
N
∑s
k =1
srec
[k ]2
(34)
Em que, Psrec é a potência do sinal recuperado após a desnormalização, N é o
comprimento do sinal recuperado e ssrec [k ] é o valor do sinal no ponto k .
Pr' = S − S rec
(35)
Primeiramente o valor da relação sinal ruído de entrada é fixado em 0
dB, variando-se o número de níveis de decomposição. Verifica-se que todas as famílias wave-
34
lets utilizadas apresentam um melhor rendimento com 3 níveis de decomposição sendo que
wavelet de Daubechies de ordem 9 se destaca em relação as demais independente do nível
analisado. Verifica-se essa situação no Gráfico 9.
Gráfico 9 - Variação do ganho de cada wavelet variando-se o número de níveis de decomposição
Utilizando as informações obtidas no Gráfico 9, é fixado o nível que obteve
melhores resultados, ou seja, 3 níveis de decomposição.Os valores da relação sinal ruído de
entrada irão variar de -10dB a 10dB.
Verifica-se novamente que a família de wavelets Daubechies de ordem 9 apresenta resultados superiores as demais para qualquer relação sinal ruído de entrada. Um fato
interessante de se observar é o rápido decaimento da wavelet de haar a partir da relação sinalruído de entrada de -6dB já que tinha valores similares a wavelet db9 e com maiores valores
de SNRin foi a única a ter valores negativos. Esse fato se deve ao processo eliminar informações do sinal, e quando a SNRin é maior, o sinal se sobrepõe ao ruído resultando na perca de
informações do sinal e não do ruído. Essas informações são mostradas no Gráfico 10.
Para visualização dos resultados do sistema é representado no gráfico 11 uma
comparação entre o sinal original de ECG, o sinal contaminado e o sinal recuperado com o
uso dos tipos de wavelets estudados, nas condições onde se tem uma melhor visualização do
sinal de ECG contaminado e recuperado. Os valores são fixados numa relação sinal ruído de
entrada de 10dB e serão utilizados 3 níveis de decomposição.
35
10
8
Ganho
6
4
2
coif2
db9
haar
sym2
0
-2
-10
-8
-6
-4
-2
0
2
SNR in dB
4
6
8
10
Gráfico 10 - Variação do ganho de cada wavelet variando-se a relação sinal ruído de entrada
4.3
SINAL CONTAMINADO COM SENÓIDE
Nesta seção do trabalho os sinais de eletrocardiograma são contaminados com
uma senóide de 60 Hz simulando uma possível interferência da rede elétrica em que o aparelho de aquisição do ECG possa estar ligado.
As etapas do processo de descontaminação permanecerão as mesmas que foram utilizadas para o sinal com ruído branco aditivo, ou seja, poderá utilizar-se todos os parâmetros e o programa já citados alterando apenas a forma de ruído.
A senóide que contamina o sinal terá uma freqüência de 60 Hz e é definido
conforme expressão:
Rsen [n] = σ 2 cos(2π ( 60 256 ) n)
(36)
Em que Rsen é a senóide que contamina o sinal, σ é o desvio padrão do ruído
e n é o ponto de amostra do sinal original de ECG.
O primeiro teste será feito fixando a relação sinal-ruído de entrada em 0dB e
variando o nível de decomposição de 1 até 5. As famílias wavelets utilizadas permanecem as
mesmas. O gráfico 12 mostra que se obtém ganhos de até 40 dB utilizando a wavelet db9 o
que é um valor considerável quando se compara com a wavelet de haar em que seu ganho não
ultrapassa 15dB. Pode-se perceber também que todas as wavelets apresentam os seus maiores
36
ganhos utilizando 2 níveis de decomposição e que a wavelet db9 é superior as demais para
qualquer quantidade de níveis utilizados.
b)
1.4
1.2
1.2
1
1
0.8
0.8
Amplitude (mV)
Amplitude (mV)
a)
1.4
0.6
0.4
0.2
0.6
0.4
0.2
0
0
-0.2
-0.2
-0.4
-0.4
0
0.5
1
1.5
2
2.5
tempo (s)
3
3.5
4
0
0.5
1
1.5
1.4
1.2
1.2
1
1
0.8
0.8
0.6
0.4
0.2
0
-0.4
-0.4
1.5
2
2.5
tempo (s)
3
3.5
0
4
0.5
1
1.5
1.2
1.2
1
1
0.8
0.8
0.6
0.4
0.2
0
-0.4
-0.4
2
2.5
tempo (s)
3
3.5
4
0.2
-0.2
1.5
4
0.4
-0.2
1
3.5
0.6
0
0.5
2
2.5
tempo (s)
f)
1.4
Amplitude (mV)
Amplitude (mV)
e)
1.4
0
3
0.2
-0.2
1
4
0.4
-0.2
0.5
3.5
0.6
0
0
3
d)
1.4
Amplitude (mV)
Amplitude (mV)
c)
2
2.5
tempo (s)
3
3.5
4
0
0.5
1
1.5
2
2.5
tempo (s)
Gráfico 11 - a) sinal original, b) sinal contaminado com SNRin = 10dB , c) sinal recuperado com db9, d)
Gráfico 5 – Comparação entre o sinal original a), sinal contaminado b) e sinal recuperado c).
sinal recuperado com haar, e) sinal recuperado com sym2 e f) sinal recuperado com coif2
37
Gráfico 12 - Variação do ganho de cada wavelet variando-se o número de níveis de decomposição
Seguindo o mesmo raciocínio da seção 4.2, o número de níveis de decomposição será fixado no que apresentou os melhores resultados e a relação sinal ruído de entrada irá
variar de -10dB a 10dB. Pode-se perceber que novamente a wavelet db9 apresenta os melhores resultados para qualquer situação e que a wavelet haar apresenta resultado inferior para
todas as aplicações aqui mostradas. É interessante perceber que todas as wavelets decaem de
forma similar com o aumento da relação sinal ruído de entrada. Essas informações são mostradas no Gráfico 13.
45
40
35
Ganho
30
25
20
15
haar
db9
coif2
sym2
10
5
0
-10
-8
-6
-4
-2
0
2
SNR in dB
4
6
8
10
Gráfico 13 - Variação do ganho de cada wavelet variando-se a relação sinal ruído de entrada
38
Para a visualização dos resultados apresentados, o gráfico 14 apresenta uma
comparação entre o sinal original, o sinal contaminado e o sinal recuperado. Para a obtenção
desses gráficos, fixa-se a relação sinal ruído em 0dB, o número de níveis de decomposição em
2 e utiliza-se todas as famílias de wavelets estudadas.
b)
1.5
1
1
Amplitude (mV)
Amplitude (mV)
a)
1.5
0.5
0
-0.5
-1
0
0.5
0
-0.5
0.5
1
1.5
2
2.5
tempo (s)
3
3.5
-1
0
4
0.5
1
1.5
1
1
Amplitude (mV)
Amplitude (mV)
1.5
0.5
0
-0.5
4
0
-0.5
0.5
1
1.5
2
2.5
tempo (s)
3
3.5
-1
0
4
0.5
1
1.5
2
2.5
tempo (s)
3
3.5
4
3
3.5
4
f)
e)
1.5
1
1
Amplitude (mV)
Amplitude (mV)
3.5
0.5
1.5
0.5
0
-0.5
-1
0
3
d)
c)
1.5
-1
0
2
2.5
tempo (s)
0.5
0
-0.5
0.5
1
1.5
2
2.5
tempo (s)
3
3.5
4
Gráfico 14 - a) sinal original, b) sinal contaminado
-1
0
0.5
1
1.5
2
2.5
tempo (s)
SNRin = 0dB , c) sinal recuperado com db9,
d) sinal recuperado com haar, e) sinal recuperado com sym2 e f) sinal recuperado com coif2
O gráfico 15 apresenta uma comparação entre o erro do sinal contaminado com ruído
branco gaussiano e do sinal recuperado em relação ao original, fixando a decomposição em 2
níveis, utilizando a wavelet db9 e uma SNRin de 10dB.
39
a) 1.5
s(t)
1
0.5
0
-0.5
0
0.5
1
1.5
2
tempo (s)
2.5
3
3.5
4
0.5
1
1.5
2
tempo (s)
2.5
3
3.5
4
0.5
1
1.5
2
tempo (s)
2.5
3
3.5
4
0.5
1
1.5
2
tempo (s)
2.5
3
3.5
4
0.5
1
1.5
2
tempo (s)
2.5
3
3.5
4
b) 1.5
s'(t)
1
0.5
0
-0.5
0
c) 1.5
s r(t)
1
0.5
0
-0.5
0
d) 1.5
s'(t)-s(t)
1
0.5
0
-0.5
0
e)
1.5
s r(t)-s(t)
1
0.5
0
-0.5
0
Gráfico 15 - Sinais de eletrocardiograma: a) sinal original; b) Sinal contaminado; c) sinal recuperado; d) erro
entre o sinal original e o contaminado; e) erro entre o sinal original e o recuperado.
Com os dados obtidos em todas as simulações, pode-se verificar que a descontaminação por meio de transformadas wavelets é eficiente em boa parte dos casos, ou seja,
sempre parte do ruído que contaminava o sinal é retirado melhorando na qualidade do sinal
recuperado. Essa característica não é verificada apenas para sinais contaminados com ruído
branco gaussiano e descontaminado com wavelet da família haar para relações sinal ruído de
entrada maiores que 8 dB.
40
Dentre as famílias de wavelets utilizadas verifica-se que tanto no ganho como
visualmente a wavelet db9 apresenta os melhores resultados nas condições apresentadas.
41
5
CONCLUSÕES
Neste trabalho é utilizado o método de descontaminação via wavelet shrinkage
para retirada de ruído de sinais de eletrocardiograma. Obteve-se resultados satisfatórios tanto
para sinais contaminados com ruído branco gaussiano quanto para os contaminados com senoide de 60 Hz.
Para os sinais com ruído branco gaussiano as wavelets que obtiveram melhores
resultados foram as da família de Daubechies de ordem 9 que apresentaram para 3 níveis de
decomposição ganhos de até 8dB. Observou-se que para apenas um nível de decomposição
todos os tipos de wavelets apresentam praticamente o mesmo ganho e que conforme o número
de níveis de decomposição vai aumentando a partir de 3 níveis, o ganho do sistema vai diminuindo para qualquer wavelet analisada.
Com relação ao ganho em função da SNRin os maiores ganhos são obtidos para
valores entre -4 dB e 0dB para todas as wavelets.
Os sinais contaminados com senóide apresentam resultados ainda mais interessantes do que os que foram contaminados com ruído branco gaussiano. Ganhos de até 40 dB
foram obtidos para a wavelet db9 com uma SNRin de -2 dB. Neste caso os melhores resultados foram obtidos para 2 níveis de decomposição para todas as wavelest utilizadas. O comportamento do ganho em relação a SNR de entrada do sistema, possui a mesma forma dos sinais
contaminados com ruído branco gaussiano, ou seja, decaem com a SNRin . Esta técnica é uma
alternativa aos filtros utilizados para retirar a senóide de 60 Hz. Estudos complementares devem ser realizados com o objetivo de comparar estes 2 métodos em relação em alguns fatores,
como por exemplo,o ganho obtido por cada e processamento.
Apesar dos bons resultados obtidos nestes testes, mais simulações devem ser
feitas utilizando diferentes tipos de wavelets, outros tipos de limiares suaves e abruptos, principalmente para sinais contaminados com ruído branco gaussiano. Além da descontaminação
pode-se também estudar a compressão dos sinais de ECG por meio de wavelets visando a redução de seu tamanho para transmissão e armazenamento.
O desenvolvimento deste trabalho propiciou a participação no XXVI Simpósio
Brasileiro de Telecomunicações onde o autor o apresentou em forma de pôster, recebendo
sugestões de pessoas ligadas à área para novos estudos e de novas técnicas desenvolvidas para
o objetivo deste trabalho.
42
REFERÊNCIAS
BRUCE, E. N. Biomedical signal processing and signal modeling. New York: John Wiley,
2001.
DAUBECHIES, I. Ten Lectures on Wavelet,s Mass: SIAM, 1992
DONOHO, D. L.; JOHNSTONE, I.M. Threshold Selection for Wavelet Shrinkage of Noisy
Data, Engineering in Medicine and Biology Society, IEEE, vol. 1, p. A24-A25, Nov 1994
ERÇELEBI, E. Electrocardiogram signals de-noising using lifting-based discrete wavelet
transform, Computers in Biology and Medicine, n. 6 Vol. 34, p. 479 - 493
GESELOWITZ, D. B. On the Theory of the Electrocardiogram. Proceedings of the IEEE.
IEEE, n. 6 vol. 77, p. 857-876, Jun 1989
GONÇALVES FILHO, J. G. Simulador de Sinais Cardíacos. 1999. 226 f. Dissertação (Mestrado em Engenharia Elétrica)-Universidade de São Paulo, São Paulo, 1999
GOPINATH, R.A.; BURRUS, C.S. A Tutorial Overview Of Filter Banks, Wavelets And Interrelations.Circuits and Systems, 1993., ISCAS '93, 1993 IEEE International Symposium,
p. 104 – 107 Mai. 1993
GOSWAMI, J. C.; CHAN, A. K. Fundamentals of wavelets: theory, algorithms, and applications. New York: John Wiley, c1999.
HERNÁNDEZ, E.; WEISS, G.. A first course on wavelets. New york: CRC Press, 1996.
KAISER, G.. A friendly guide to wavelets. Woodbine: Birkhauser. 2004
KILPATRICK, D.; JOHNSTON, P. Origin of the Electrocardiogram. IEEE Engeineering in
Medicine and Biology. Piscataway: IEEE, vol 1, p. 479-486, Aug. 1994
MALLAT, S. A Wavelet Tour of Signal Processing, San Diego:Academic Press, 1999
MCSAHRRY, P.E.; CLIFFORD, G. D.; TERASSENKO, L.; SMITH, L. A. A Dynamical
Model For Generating Synthetic Electrocardiogram Signals, IEEE Transactions on Biomedical Engineering, IEEE n.3 vol.50 p.289-294, Mar 2003
NORTHROP, R. B. Signals and systems analysis in biomedical engineering. Boca Raton:
CRC Press, 2003.
OLIVEIRA, H. M.. Análise de Sinais para Engenheiros: Uma Abordagem via Wavelets.
Recife: Brasport. 2007.
OPPENHEIM, A. V.; WILLSKY, A. S.; NAWAB, S. H.. Signals & systems. 9 ed. Upper
Saddle River: Prentice-Hall, 1997.
43
POORNACHANDRA S. Wavelet Based Denoising Using Subband Dependent Threshold for
ECG Signals, Digital Signal Processing, Elsevier n. 18, 2008
RANGAYYAN,R. M. Biomedical signal analysis: A case-study approach. Piscataway: IEEE
Press / John Wiley & Sons, 2002
RAO, R. M.; BOPARDIKAR, A. S. Wavelet transforms: introduction to theory and applications. São Paulo: Addison-Wesley, 1998.
RIOUL, O.; VETTERLI, M.; Wavelets and signal processing Signal Processing Magazine,
IEEE v. 8, n. 4, p.14 - 38 Out. 1991
SILIPO, R.; MARCHESI,C. Artificial Neural Networks for automatic ECG analysis. IEEE
Transactions on Signal Processing. Piscataway: IEEE, n. 5, vol. 46 p. 1417-1425 May 1998
STRANG, G.; NGUYEN T.. Wavelets and filter banks. Wellesley : Wellesley Cambridge
Press. 1996.
TASWELL, C. The What, How and Why of the Wavelet Shrinkage Denoising, Computing in
Science & Engineering. IEEE, n.3, vol. 2, p. 12 – 19 May 2000
44
APÊNDICE A – LISTAGEM DOS PROGRAMAS IMPLEMENTADOS
Os programas desenvolvidos para Matlab utilizados neste trabalho são descritos nessa
seção. O programa recuperasinalseno.m tem como objetivo descontaminar os sinais
de eletrocardiograma contaminados com senóide e o programa recuperasinalruido.m
que retira ruído branco gaussiano do sinal. A descrição do programa bem como suas entrada e
comentários de operação são precedidas pelo símbolo %.
•
Descontaminação de sinais
Nome: recuperasinalseno.m
% Esta função foi desenvolvida com o objetivo de descontaminar sinais de
eletrocardiograma % contaminados com ruído branco gaussiano ou senóides.
% Suas variáveis de entrada são as seguintes:
% - pontos: determina o comprimento do sinal a ser analisado.
% - SNRindB: é a relação sinal ruído de entrada dada em dB
% - m: é o número de decomposições wavelets utilizadas
% - wavelet: é o tipo de wavelet utilizada e seu nome deve ser dado entre
aspas (‘__’)
% O programa retorna as seguintes variáveis de saída:
% - SNRoutdB: representa a relação sinal ruído do sinal recuperado
% - srecdesn: é o sinal de ECG recuperado e desnormalizado
clear all % limpa todas as variáveis
close all % fecha todas os gráficos
SNRin = 10.^(SNRindB/10);% transforma a SNR em um número adimensional
[sinalecg, ipeaks] = ecgsyn(256,pontos/256);% sinal de ECG com 65536 pontos
sinal=sinalecg(1:pontos);%limita o número de pontos do sinal escolhido
for m=1:5 % variação do número de níveis de decomposição
for j=1:length(SNRin),%varia a relação sinal ruído
N= length(sinal); % calcula o comprimento do sinal
potsinal=(1/N)*sum(sinal.^2); % calcula a potencia do sinal original
potruido=potsinal/SNRin(j); % potencia do %ruido
sigma = sqrt(potruido);%calcula a potencia rms do ruido
n=(0:N-1)';% vetor de pontos para a senóide
interf = sigma*sqrt(2)*cos(2*pi*(60/256)*n);%senoide de contaminação
sinalcontaminado=sinal+interf; % sinal contaminado com senóide
45
km=N/(2^m); % fator de normalização no número de níveis escolhidos
sinalnormalizado=sinalcontaminado/sqrt(km);% sinal contaminado normalizado
[C,L]=wavedec(sinalnormalizado,m,wavelet); % decomposição wavelet
for p=1:m % varre todos os niveis escolhidos pelo usuário
d(:,p)= wrcoef('d',C,L,wavelet,p); % coeficientes de detalhe
k=length(sinalnormalizado)/(2^p); % comprimento do nivel m
T=sqrt(2*log10(k)*sigma)/sqrt(k); % Calcula o limiar de corte
indice=find(abs(d(:,p))<T); % índices abaixo do limiar
d(indice,p)=0; % zera todos valores abaixo do limiar
end % fim do comando for dos níveis de decomposição
sinalrecuperado=wrcoef('a',C,L,wavelet,m); % retorna a aproximação
for p=1:m % varre todos os niveis escolhidos pelo usuário
sinalrecuperado=sinalrecuperado+d(:,p);% retorna o sinal recuperado
end % fim do comando for dos níveis de decomposição
srecdesn=sinalrecuperado*sqrt(km);%desnormaliza o sinal recuperado
ruidosrecdesn=sinal-srecdesn;%calcula o ruido do sinal recuperado
potsrecdesn= (1/N)*sum(srecdesn.^2);% potencia do sinal recuperado
potruidosrecdesn= (1/N)*sum(ruidosrecdesn.^2);% potencia do ruido
snrout(j)=potsinal/potruidosrecdesn;% SNR do sinal recuperado
SNRoutdB(j) = 10*log10(snrout(j));%calcula o ganho em dB de snrout
G(j) = SNRoutdB(j) - SNRindB(j);%calcula o ganho total to sistema
End
Nome: recuperasinalruido.m
% Esta função foi desenvolvida com o objetivo de descontaminar sinais de
eletrocardiograma % contaminados com ruído branco gaussiano ou senóides.
% Suas variáveis de entrada são as seguintes:
% - pontos: determina o comprimento do sinal a ser analisado.
% - SNRindB: é a relação sinal ruído de entrada dada em dB
% - m: é o número de decomposições wavelets utilizadas
% - wavelet: é o tipo de wavelet utilizada e seu nome deve ser dado entre
aspas (‘__’)
% O programa retorna as seguintes variáveis de saída:
% - SNRoutdB: representa a relação sinal ruído do sinal recuperado
% - srecdesn: é o sinal de ECG recuperado e desnormalizado
clear all % limpa todas as variáveis
close all % fecha todas os gráficos
SNRin = 10.^(SNRindB/10);% transforma a SNR em um número adimensional
[sinalecg, ipeaks] = ecgsyn(256,pontos/256);% sinal de ECG com 65536 pontos
46
sinal=sinalecg(1:pontos);%limita o número de pontos do sinal escolhido
for m=1:5 % variação do número de níveis de decomposição
for j=1:length(SNRin),%varia a relação sinal ruído
for c=1:10% repetição para média
N= length(sinal); % calcula o comprimento do sinal
potsinal=(1/N)*sum(sinal.^2); % calcula a potencia do sinal original
potruido=potsinal/SNRin(j); % potencia do %ruido
sigma = sqrt(potruido);%calcula a potencia rms do ruido
ruido=sigma*randn(N,1); % gera ruído
sinalcontaminado=sinal+ruído;
km=N/(2^m); % fator de normalização no número de níveis escolhidos
sinalnormalizado=sinalcontaminado/sqrt(km);% sinal contaminado normalizado
[C,L]=wavedec(sinalnormalizado,m,wavelet); % decomposição wavelet
for p=1:m % varre todos os niveis escolhidos pelo usuário
d(:,p)= wrcoef('d',C,L,wavelet,p); % coeficientes de detalhe
k=length(sinalnormalizado)/(2^p); % comprimento do nivel m
T=sqrt(2*log10(k)*sigma)/sqrt(k); % Calcula o limiar de corte
indice=find(abs(d(:,p))<T); % índices abaixo do limiar
d(indice,p)=0; % zera todos valores abaixo do limiar
end % fim do comando for dos níveis de decomposição
sinalrecuperado=wrcoef('a',C,L,wavelet,m); % retorna a aproximação
for p=1:m % varre todos os niveis escolhidos pelo usuário
sinalrecuperado=sinalrecuperado+d(:,p);% retorna o sinal recuperado
end % fim do comando for dos níveis de decomposição
srecdesn=sinalrecuperado*sqrt(km);%desnormaliza o sinal recuperado
ruidosrecdesn=sinal-srecdesn;%calcula o ruido do sinal recuperado
potsrecdesn= (1/N)*sum(srecdesn.^2);% potencia do sinal recuperado
potruidosrecdesn= (1/N)*sum(ruidosrecdesn.^2);% potencia do ruido
snrout(j)=potsinal/potruidosrecdesn;% SNR do sinal recuperado
SNRoutdB(j) = 10*log10(snrout(j));%calcula o ganho em dB de snrout
end
end
for d=1:lenght(SNRin) % calculo da média
G(d)=sum(G(d,:/10)
End
47
APÊNDICE B – ARTIGO PUBLICADO NOS ANAIS DO XXV SIMPÓSIO
BRASILEIRO DE TELECOMUNICAÇÕES (SBrT 2007)
Artigo publicado nos anais do XXVI Simpósio Brasileiro de Telecomunicações, Rio de
Janeiro, 02 a 05 de Setembro de 2008
Download