UM NOVO ALGORITMO PARA DETERMINAÇÃO DO RITMO CARDÍACO EM ELETROCARDIOGRAMA (ECG) Francisco Ivan de Oliveira Paulo César Cortez Departamento de Engenharia de Teleinformática - DETI Universidade Federal do Ceará -UFC Fortaleza, Ceará, Brasil. [email protected], [email protected] RESUMO Este trabalho propõe um algoritmo capaz de determinar o ritmo cardíaco (RC) a partir dos intervalos R-R para auxiliar no diagnóstico médico, fazendo uma pré-classificação do ECG através do RC fornecido pelo método proposto. O algoritmo está fundamentado em procurar os picos, as ondas R, através de uma janela móvel e variável que percorre todo o eletrocardiograma. São obtidos resultados experimentais do referido algoritmo e comparado com técnicas tradicionais para detecção do RC, utilizando-se a base de dados do MIT/BIH. PALAVRAS CHAVES Coração, Ritmo Cardíaco (RC), Eletrocardiograma (ECG), Intervalos R-R. ABSTRACT This work considers an algorithm capable of determining the cardiac rhythm (CR) from the R-R intervals to assist in the medical diagnosis, making a daily pre-classification of the electrocardiagram (ECG) through the CR supplied for the considered method. The algorithm is based on looking at the peaks, R waves, through a mobile and variable lentgh window that covers the electrocardiogram. Experimental results are obtained from the related algorithm and compared with traditional techniques for cardiac rhythm detection , using MIT/BIH database. KEYWORDS Heart, Cardiac Rhythm (CR), Electrocardiogram (ECG), R-R Intervals. INTRODUÇÃO O ritmo cardíaco (RC) é caracterizado pela média do número de ciclos cardíacos do coração durante um período de tempo, que por convenção são 60 segundos, durante o comportamento a se estudar. Alterações significativas do RC podem estar associados às arritmias do coração, distúrbios que ocorrem durante o sono e reações psico-motoras [8]. O coração é um músculo cuja capacidade de se contrair, produz a eficiente circulação do sangue no corpo humano, importante fenômeno na vida dos seres humanos. Esta capacidade tem por base um músculo cardíaco, que trabalha continuamente durante toda a vida do indivíduo, e um sistema condutor que coordena seqüencialmente a excitação e a contração das diversas partes deste “motor humano”, que bombeia pelo menos 4,5 litros de sangue por minuto, e contrai-se diariamente cerca de 100.000 vezes, o que resulta num volume de sangue bombeado de aproximadamente 6.400 litros por dia. A energia desprendida por dia de trabalho do coração é equivalente à energia consumida por um caminhão para percorrer 30km. Para o coração realizar todo esse trabalho, ele é dividido em quatros cavidades: as aurículas (duas superiores) e os ventrículos (dois inferiores); um outro músculo, o septo interventricular, que impede os sangues de se misturarem, o venoso e o arterial; e duas válvulas, tornando possível a eficiência da circulação sangüínea. A Figura 1 mostra a divisão do coração nas partes mencionadas [8]. Figura 1 – O coração e suas cavidades Um outro parâmetro muito importante no estudo de alterações registradas pelo ECG é o intervalo entre batidas (IEB). Este, medido em milissegundos, é dado pelo tempo entre cada onda R durante o evento em análise. Atualmente, esta medida pode ser feita por meio de sistemas automáticos chamados cardiotacómetros [5]. Um dos principais psicofisiologistas que usa o IEB é J. Jennings que se concentra na investigação da reação cardíaca em relação à atenção das pessoas. Num dos seus últimos trabalhos, investigou o tempo de reação da direção da atenção quando este tem um aviso congruente ou incongruente, em relação à localização do estímulo. Verificouse que, os tempos do IEB em situações de avisos incongruentes são maiores do que em situações de avisos congruentes. Esta situação ocorre quando uma pessoa toca no ombro direito de uma outra pessoa e depois aparece a essa pessoa pelo lado esquerdo. O tempo do IEB da pessoa que recebeu o toque é maior do que se a pessoa que tocou no ombro aparecesse pelo lado direito. Talvez seja por causa disto que muitas pessoas se agarram ao peito quando se encontram em situações como estas [5]. O ciclo cardíaco pode-se alterar depois de uma disfunção do coração, como um ataque cardíaco, e assim mostrar as lesões no coração provocadas pelo acontecimento anormal. Contudo num estudo psicofisiológico, como visto anteriormente, o que é mais importante é a monitorização do (RC) em resposta a conduta humana assim como a medição do (IEB) - o intervalo R-R. Um outro estudo relevante é a análise do sistema vagal, cruzando a informação espectral do ritmo cardíaco com o sinal de pressão esofágica, face a pertubações respiratórias durante o sono [5,8]. A detecção das ondas R é a mais importante informação para a determinação do ritmo cardíaco. Tipicamente, as ondas R são detectadas pelo critério do limiar de sua amplitude [5,7,8]. Esta forma de detecção não excluem os ruídos impulsivos que podem aparacer no decorrer do ECG. Para correção de tal problema, convolve-se o sinal de ECG com a funçaõ chapéu de mexicano [7] ou aplica-se um filtro [5,12,13] para destacar os picos e eliminar os ruídos. Segundo [9] a mais importante das tarefas para a determinação do complexo QRS é a detecção da onda R. Afirma-se ainda que a maioria utiliza um limiar, comprometendo a eficiência de alguns métodos quando aplicados em ECGs de pessoas portadoras de algum distúrbio cardíaco. Diversos outros trabalhos empregam a técnica de um limiar, dentre eles podem-se destacar [10,11]. Este trabalho propõe um algoritmo simples e eficiente para determinar o RC automaticamente em ECGs de pessoas normais, pela aplicação de uma janela variável diretamente no sinal de ECG. No caso de ECGs contendo alguma anomalia, este algoritmo primeiro realiza uma convolução do sinal com a função chapéu de mexicano (realça o sinal) para em seguida realizar a deteção do RC. São apresentados e comparados os resultados com técnicas tradicionalmente utilizadas, tipicamente a aplicação de limiar, que comprovam a eficiência do método. O restante do trabalho está organizado da seguinte forma: a seção 2 fará uma abordagem do eletrocardiograma (ECG); o algoritmo proposto será descrito na seção 3; e por fim, nas seções 4 e 5 serão apresentadas, as resultadas e realizadas as discursões e conclusões do presente trabalho, respectivamente. O ELETROCARDIOGRAMA O ECG é o gráfico das oscilações elétricas que resultam da alteração do músculo cardíaco. Representa, basicamente, a síntese da maioria dos potenciais de ação registrada no coração inteiro. As ondas registradas em um eletrocardiograma (ECG), sobre a superfície do corpo, consistem de duas ondas: despolarização e repolarização. A onda de despolarização é causada pela estimulação da membrana celular, enquanto que a onda de repolarização é causada pela recuperação da membrana celular para seu estado original de repouso. As principais ondas registradas num ECG são conhecidas como P, Q, R, S, T e U [1]. A Tabela 1 relaciona as informações sobre cada uma delas. Ocorrência Onda P Informação Despolarização auricular, no qual se propaga desde o nodo sinoatrial. Onda Q Início da despolarização dos ventrículos, deflexão pequena e negativa. Onda R É a deflexão positiva geralmente mais pronunciada. Onda T Repolarização do miocárdio, durante o último estágio da sístole ventricular. Onda U Raramente vista e não se conhece seu significado Intervalo PR Representa o tempo de condução através dos nódulos AV e da haste de HIS. Intervalo Período de repolarização ativa da QRS musculatura ventricular. Intervalo QT Representa a duração da sístole elétrica. Tabela 1 – Informações relativas às ondas que compõem um ECG. Um ciclo também pode ser dividido em três fases, correspondentes aos impulsos das atividades elétricas do coração, como mostrado na Figura 2. Figura 2: Fases de um ciclo cardíaco. A primeira fase é conhecida como Diástole, na qual o sangue enche as aurículas e cerca de 80% dos ventrículos. Estes se enchem porque se dilatam e, portanto, a sua pressão no interior da cavidade torna-se inferior à das aurículas. A segunda fase é a Sístole Auricular (ou a Contracção Atrial), as aurículas contraem-se, pela ativação do nódulo AS, e empurram o resto do sangue que contêm para os ventrículos. Uma fracção de segundo depois se dá a terceira fase do ciclo chamada de Sístole Ventricular. Esta fase é caracterizada pela contracção dos ventrículos devido ao impulso elétrico do nódulo AV (aurículo-ventricular). No instante em que os ventrículos começam a contraírem-se, a pressão no interior destes aumenta e tão logo que excede a pressão nas aurículas, as válvulas, entre os aurículos e os ventrículos, fecham-se completamente. Esta pressão faz também com que as válvulas da saída dos ventrículos se abram e, desta forma, o sangue corre para fora do coração para a artéria pulmonar ou para a aorta. Este é o mecanismo fisiológico que caracteriza as três fases [1]. A obtenção de um sinal de ECG pode ser realizada de diferentes maneiras (derivações), cada uma enfatizando determinada fase descrita anteriormente. Cada uma das derivações caracteriza a saída de um canal de informação específico. Existem três tipos de derivações num ECG que usa a montagem dos pés e mãos. Para derivação II, colocase um eletrodo no pulso direito e outro no tornozelo esquerdo, de maneira que a polarização no tornozelo é positiva em relação ao eletrodo no pulso, como é mostrada na Figura 3. Este tipo de derivação é a que mais se usa quando se fazem medidas IEB, pois, produz uma onda R bastante alta [1]. Figura 2 – Posição dos eletrodos para a derivação II. NOÇÕES DE WAVELET Transformação de Wavelet é uma operação linear que decompõe um sinal através de componentes em diferentes escalas (ou resoluções) [2,3,4,6]. A função Ψ (t ) pode assumir valores reais ou complexos em L2(R). A função Ψ (t ) é dita wavelet, se e somente se, sua transformada de Fourier Ψ (ω ) satisfaz +∞ ∫ Ψ (ω ) −∞ 2 ω dω < ∞ . (1) Esta condição de admissibilidade implica que +∞ ∫ Ψ(t )dt = 0 , (2) −∞ em que a média de Ψ (ω ) é limitada e sua área é zero. Considerando Ψ a (t ) = 1 t Ψ( ) a a (3) 1 na a equação (3) é o fator de normalização para a energia. A transformada de wavelet de uma função f (t ) ∈ L2 ( R ) em uma escala a e posição τ é dada por uma dilatação de Ψ (t ) por um índice de escalonamento de a > 0 . A expressão Wf (a, t ) = 1 a +∞ ∫ −∞ t −τ f (t )Ψ dt . a (4) Este tipo de transformação satisfaz a conservação de energia, e o sinal original pode ser reconstruído pela transformada inversa de wavelet. Com a diminuição da escala a, a transformada de wavelet torna-se mais sensível para as componentes de alta freqüência do sinal. A wavelet mãe usada neste trabalho foi a segunda derivada da função gaussiana, também conhecida como chapéu de mexicano 2 Ψ (t ) = −t 1 (1 − t 2 )e 2 . 2π (5) ALGORITMO PROPOSTO O algoritmo proposto se fundamenta na varredura do sinal de ECG, usando uma janela w de largura variável. O sinal será analisado por janelas consecutivas de tamanho w variável a fim de encontrar o ponto R de um ciclo cardíaco, que consiste na detecção do complexo QRS, como mostrado Figura 4. Figura 4: Ilustração de um ECG com uma janela de largura w . Os critérios para a escolha do pico em cada janelamento são: primeiro, ser maior que um limiar de decisão (Eth); segundo, não ser um dos extremos da janela; e terceiro, a diferença entre dois picos consecutivos nã ser superior à 80ms. A idéia principal do método é usar um valor de w para que produza o menor desvio padrão entre os intervalos R-R, isto é, consiga detectar o maior número de picos corretamente. Para melhor compreensão, dividiu-se o algoritmo em duas fases: a fase de treinamento (estimação e determinação de parâmetros) e a fase de deteção de picos, que é sua principal finalidade. Os parâmetros utilizados sao: tempo de leitura do ECG( t n ), média dos intervalos RR( RR ), tamanho da janela atual( wi ), limiar de decicisão ( Eth ), média dos picos( p ) e desvio padrão dos intervalos R-R( σ RR ). A fase de treinamento é constituida dos passos seguintes: INÍCIO wi =40ms; (10 amostras) tn =0s; Enquanto t n ≤ 40s Faça Calcula o Pico p[ n] dentro na janela wi ; tn = tn + wi ; Fim_Enquanto Calculam RR e p ; Eth = 0,7 p ; FIM A partir dos valores obtidos na fase de treinamento, pode-se aplicar o algoritmo para todo o ECG em análise. A fase de deteção de picos está dividida em nos seguintes passos: INÍCIO wi =0,15 RR ; σ RR =106; Enquanto wi ≤ 0,40 RR Faça tn =0s; Enquanto tn ≤ FIM_ARQUIVO Faça Calcula o Pico p[n] dentro na janela wi ; tn = tn + wi ; Fim_Enquanto Calculam RR e σ RR ; Se σ RR é menor Então Atualizam os picos p[n] e RR ; Fim_Se wi = wi +0,05 RR ; Fim_Enquanto FIM Para os arquivos com anormalidade, convolve-se o ECG com o chapéu de mexicano, processo conhecido com wavelet, descrito na seção anterior deste trabalho. RESULTADOS Um total de oito arquivos normais (sel16265, sel16272, sel16273, sel16420, sel16483, sel16539, sel17152, sel17453) e oito arquivos patológicos (100, 101, 102, 103, 104, 105, 106, 107, 118) do banco de dados do MIT/BIH foram testados. As freqüências de amostragem destes arquivos são 250 Hz ou 360 Hz. A eficiência do algoritmo foi observada pela marcação das ondas R e pelo intervalo entre batidas (IEB). As figuras 5 e 6 ilustram os dois critérios considerados acima para o arquivo normal “sel17152”. A partir desses gráficos, pode-se observar a coerência dos resultados (ritmo cardíaco oscilando em torno de uma média e todas as ondas R marcadas) já que o arquivo utilizado é normal. Outro fato importante deste trabalho é a não utilização de um pré-processamento (eliminação de ruído ou convolução), diminuindo o esforço computacional. Arquivo:sel17152.dat 200 150 Canal1 100 50 0 2.178 2.18 2.182 2.184 2.186 2.188 2.19 2.192 2.194 5 x 10 Figura 5: ECG com as ondas R marcadas Ritmo Cardiaco 2000 1800 1600 1400 IEB(ms) 1200 1000 800 600 400 200 0 0 200 400 600 Batimentos 800 1000 1200 Figura 6: Ritmo Cardíaco. Para efeito de comparação foram realizados testes com outros algoritmos. Por exemplo, a detecção das ondas R a partir de um limiar. Em [7] foi usado uma janela fixa de 500ms e um limiar de detecção 600mV. As figuras 7 e 8 mostram um dos resultados obtidos usando o critério acima. Observe que o ritmo cardíaco apresentou uma alteração brusca, não por um efeito biológico e sim por um erro detecção das ondas R. Arquivo:sel17152.dat 200 Canal1 150 100 50 0 -50 2.178 2.18 2.182 2.184 2.186 2.188 2.19 2.192 5 x 10 Figura 7: ECG com as ondas R marcadas. Ritmo Cardiaco 2000 1800 1600 1400 IEB(ms) 1200 1000 800 600 400 200 0 0 200 400 600 Batimentos 800 1000 1200 Figura 8: Ritmo Cardíaco. Para os arquivos normais o algoritmo conseguiu detectar todas as ondas R com sucesso. Já nos arquivos que apresentavam alguma anomalia houve um erro considerado na detecção. Para corrigir tal nuância, fez-se uma convolução com um chapéu de mexicano ou uma filtragem para destacar o complexo QRS e eliminar os ruídos [6,7,8]. As figuras a seguir ilustram os resultados com o arquivo anormal “102”. A figura 9 mostra o ritmo cardiaco obtido diretamente com algoritmo. Observa-se uma uma mudança brusca no intervalo entre batidas (IEB). Daí, convolveu-se o ECG com (5) de 50 amostras e os picos foram detectados corretamente, veja a figura 10. Ritmo Cardiaco 2000 1800 1600 1400 IEB(ms) 1200 1000 800 600 400 200 0 0 200 400 600 Batimentos 800 1000 1200 Figura 9: Ritmo Cardíaco obtido sem a convolução. Ritmo Cardiaco 2000 1800 1600 1400 IEB(ms) 1200 1000 800 600 400 200 0 0 200 400 600 Batimentos 800 1000 1200 Figura 10: Ritmo Cardíaco obtido com a convolução Também foram realizados testes passando os sinais por um filtro de fase linear para eliminar a interferência e os ruídos das altas freqüências, para em seguida ser feita a detecção. Foi utilizado um filtro de fase linear através de uma janela de Hamming com ordem 50 [8]. As figuras 11 e 12 ilustram os resultados obtidos a partir das considerações acima para os arquivos normais “sel16265” “sel17152” , respectivamente. Observa-se que a detecção foi feita com sucesso no primeiro arquivo. Porém, para o segundo arquivo, houve um salto de alguns picos. Isto mostra a ineficiência da filtragem com uma janela Hamming. Ritmo Cardiaco 2000 1800 1600 1400 IEB(ms) 1200 1000 800 600 400 200 0 0 200 400 600 Batimentos 800 1000 1200 Figura 11: Ritmo Cardíaco. Ritmo Cardiaco 2000 1800 1600 1400 IEB(ms) 1200 1000 800 600 400 200 0 0 200 400 600 Batimentos 800 1000 1200 Figura 12: Ritmo Cardíaco. CONCLUSÕES E TRABALHO A REALIZAR Este trabalho apresenta um algoritmo capaz de gerar a freqüência cardíaca de um arquivo de eletrocardiograma (ECG) para um pré-diagnóstico. Sua principal contribuição é a rapidez e eficiência na detecção dos picos. Umas das vantagens observadas nas simulações realizadas é a ausência de um préprocessamento (convulução ou filtragem) para os arquivos normais. Caso a detecção apresente um desvio padrão alto dos intervalos R-R, é chamado uma rotina que aplica sobre o sinal a transformada de wavelet para destacar o complexo QRS e, em seguida, detectá-los. Como os experimentos realizados neste trabalho levam a uma concepção de um sistema com aprendizagem. Então, trabalhos futuros serão feitos utilizando ferramentas de inteligência computacional (IC), tal como rede neural, lógica fuzzy, algoritmos genéticos e séries temporais. REFERÊNCIA BIBLIOGRÁFICA [1] Brener, J., 1967. "Heart rate", no livro de P.H. Venables & I. Martin, "Manual of Psychophysiological methods", Amsterdam: North-Holland. [2] Mallat S: Multiresolusion frequency channel decomposition of images and wavelets models. IEEE Transcractions on Acounst, Speech Signal Processing, 37, Nº 12,1989. Page(s) 2091-2110. [3] Mallat S: Zero crossings of wavelet transform, IEEE Trans. Information Theory, 37, Nº 4, Page(s) 1019-1033, July 1991. Page(s) 1019-1033. [4] Chui K. An Introduction to Wavelets, 1992. Academic Press, Inc. [5] Jennings, J.R., van der Molen, M.W., van der Veen, F.M., & Debski, K.D., 2000. "Quick cues may alter anticipatory strategies as indicated by inhibitory changes in cardiac interbeat interval", Psychophysiology, 37(1), S51. [6] J.S. Sohambi, S.N. Tandan, and R.K.P. Bhatt: “Using Wavelet Transforms for ECG Characterization”, IEEE Engineering in Medicine and Biology, january/february 1997. Page(s): 77-83. [7] Andreao, R.V.; Dorizzi, B.; Cortez, P.C.; Mota, J.C.M.; “Efficient ECG multi-level wavelet classification through neural network dimensionality reduction” Neural Networks for Signal Processing, 2002. Proceedings of the 2002 12th IEEE Workshop on, 2002 Page(s): 395-404. [8] Miranda, Tiago; Silva, Pedro; “Análise do Sistema Vagal por ECG”. Workshop Engenharia Biomédica, setembro 2002. Nº 8, p.58-62. [9] Kohler, B.-U.; Hennig, C.; Orglmeister, R. “The principles of software QRS detection”. IEEE Engineering in Medicine and Biology Magazine, Volume: 21 Issue: 1 , Jan/Feb 2002 Page(s): 42 –57 [10] Moraes, J.C.T.B.; Freitas, M.M.; Vilani, F.N.; Costa, E.V.; A qrs complex detection algorithm using electrocardiogram leads. Computers in Cardiology, 2002, 2002 Page(s): 205 –208 [11] Tran Hoai Linh; Osowski, S.; Stodolski, M.; On-line heart beat recognition using hermite polynomials and neuro-fuzzy network. Instrumentation and Measurement Technology Conference, 2002. IMTC/2002. Proceedings of the 19th IEEE, Volume:1,2002. Page(s): 165 -170. [12] Carvalho, J.L.; Rocha, A.F.; Nascimento, F.A.O.; Junqueira, L.F.(2002); “Desenvolvimento de um Sistema para Análise da Variabilidade da Freqüência Cardíaca”; XVIII Congresso Brasileiro de Engenharia Biomédica; Volume 5/5, páginas 337-341. [13] Carvalho, J.L.; Rocha, A.F.; Nogueira, 0.S.A.; Nascimento, F.A.O.; Neto, J.S.(2002); “Avaliação de Métodos de Interpolação do Sinal de Variabilidade da Freqüência Cardíaca”; XVIII Congresso Brasileiro de Engenharia Biomédica; Volume 5/5, páginas 342-346.