Algoritmo para Detecção do Complexo QRS e Reconhecimento de Contração Ventricular Prematura em Eletrocardiograma João Paulo do Vale Madeiro1, Paulo César Cortez2, Francisco Ivan de Oliveira3, Robson da Silva Siqueira4 1,2,3,4 Departamento de Engenharia de Teleinformática (DETI), Universidade Federal do Ceará (UFC), Brasil Resumo - Este trabalho propõe um algoritmo capaz de extrair de um Eletrocardiograma informações que descrevam a morfologia do complexo QRS, de forma a determinar a análise do ritmo cardíaco e o reconhecimento de uma contração ventricular prematura. Estas informações são obtidas a partir da detecção dos pontos significativos do complexo QRS: ondas Q, R e S. A performance do algoritmo é avaliada através de testes com a base de dados Arrhytmia Database do MIT-BIH que atestam a viabilidade do emprego do algoritmo. Palavras-chave: Eletrocardiograma (ECG), Complexo QRS, Transformada Wavelet (WT), Limiar Adaptativo. Abstract - This paper proposes an algorithm capable of extracting from an Electrocardiogram features describing QRS morphology in order to evaluate cardiac rhythm and recognize a premature ventricular contraction. These features are obtained from the detection of significant points of the QRS Complex: Q, R and S waves. The performance of the proposed algorithm was tested using the records of the MIT-BIH Arrhythmia Database. Key-words: Electrocardiogram (ECG), QRS Complex, Wavelet Transform (WT), Adaptive Threshold. Introdução Alguns dos tipos mais perturbadores de disfunção cardíaca não resultam do músculo cardíaco anormal, mas em virtude do ritmo cardíaco anormal, o que caracteriza as arritmias cardíacas [1]. Dentre as possíveis causas das arritmias cardíacas, relacionam-se [1]: ritmicidade anormal do marca-passo, deslocamento do marca-passo do nodo sinusal para outras áreas do coração e vias anormais para transmissão do impulso elétrico do coração. A contração prematura é uma contração cardíaca antes do momento que deveria ocorrer a contração normal [1]. Esta condição também é chamada de extrasístole, batimento prematuro ou batimento ectópico. Uma extra-sístole ventricular ocorre quando um foco situado em algum lugar dos ventrículos dispara um impulso precocemente e assume a função de marca-passo por um batimento [2]. O próximo impulso originado do nodo sinusal irá encontrar os ventrículos em estado refratário, e causa uma pausa compensadora que se segue imediatamente à contração prematura. A extra-sístole ventricular causa em geral efeitos específicos no Eletrocardiograma, que são os seguintes [1]: complexo QRS prolongado e com alta amplitude, devido à condução lenta e numa única direção do impulso elétrico através do músculo ventricular, onda T com potencial elétrico de polaridade oposta à do complexo QRS e pausa compensadora entre a contração prematura e a contração seguinte. A Figura 1 ilustra características de uma contração ventricular prematura no Eletrocardiograma anteriormente descritas. Figura 1 – Contração ventricular prematura em um ECG. Algumas extra-sístoles ventriculares são relativamente benignas em sua origem e resultam de fatores como cigarros, café, falta de sono, vários estados de intoxicação moderada e, mesmo, irritabilidade emocional [1]. Por outro lado, muitas outras resultam de impulsos fugidios ou de sinais reentrantes, que se originam em torno dos limites de áreas cardíacas infartadas, ou isquêmicas [1]. Estatísticas mostram que pessoas com número significativo de extrasístoles ventriculares têm probabilidade muito maior do que uma pessoa normal de desenvolver fibrilação ventricular espontânea letal, presumivelmente iniciada por uma destas contrações prematuras [1]. Portanto, a presença destas extra-sístoles não deve ser ignorada. Neste trabalho, um algoritmo é desenvolvido com o uso da técnica do limiar adaptativo e da transformada Wavelet cujo parâmetro de escala variável. A técnica do limiar adaptativo é comumente utilizada pelos algoritmos de processamento de sinal ECG no estágio da detecção do complexo QRS. Os diversos modos de aplicação desta técnica têm uma característica em comum: préprocessamento sobre o sinal. As transformadas Wavelet e de Hilbert, os filtros integradores e derivativos permitem obter sinais modificados do ECG original, que mantém energia acentuada para o complexo QRS [3,4,5]. No algoritmo proposto neste trabalho, dois detetores trabalham alternadamente. O detetor R-R identifica as posições das ondas R através de um limiar adaptativo. Neste estágio, apenas intervalos em que é detectada discrepância de duração do intervalo R-R são filtrados, utilizando a função “Chapéu de Mexicano” como Wavelet-Mãe. A operação de convolução aplicada pela transformada Wavelet visa validar picos em análise ou procurar picos não detectados através da técnica do limiar adaptativo. O detector Q-S identifica as posições dos picos Q e S. Neste estágio, seleciona-se uma janela, de tamanho variável, em torno de cada pico R e aplica-se a transformada Wavelet, usando a mesma WaveletMãe. O parâmetro de escala da transformada é variável ao longo do exame e uma rotina de treinamento é utilizada para se determinar seu valor inicial. A partir das características extraídas do ECG pelos dois detetores, intervalos R-R e dos limites de cada complexo QRS, é possível desenvolver o algoritmo proposto para o reconhecimento das contrações ventriculares prematuras. Metodologia A Transformada Wavelet A transformada Wavelet é uma operação linear que decompõe um sinal em componentes de diferentes escalas ou resoluções [6,7]. Uma função (t) é chamada Wavelet, podendo assumir valores reais e complexos em L²(R), se, e somente se, sua transformada de Fourier satisfaz: O que implica que +∞ ψ (t )dt = 0. −∞ A partir de uma Wavelet mãe (t), deduz-se um conjunto de funções, chamadas Wavelet filhas, dadas por: em que a e são os parâmetros de escala e de translação, respectivamente. A transformada de Wavelet de uma função f(t) é dada por: Wf (a, t ) = 1 a +∞ f (t )ψ −∞ t −τ a A Wavelet mãe utilizada neste trabalho é a segunda derivada da função gaussiana, também conhecida como “Chapéu de Mexicano” ψ (t ) = 1 2π (1 − t )e 2 −t 2 2 O Algoritmo Proposto Dois sub-sistemas interdependentes detectam os pontos significativos do complexo QRS: o detetor RR localiza as posições dos picos R e o detetor QS localiza as posições dos picos Q e S, usando a informação de posição de cada onda R. Detetor RR Neste estágio não há pré-processamento, mas um limiar adaptativo é utilizado, como um parâmetro de decisão no processo de comparação. Toma-se uma expressão ponderada, envolvendo valores estimados de amplitude de pico (Re) e valores reais de amplitude de pico (R) no instante k-1, para determinar o limiar th[k]. Este valor de limiar será usado para detectar a posição RR do próximo pico, no instante k. A expressão é dada a seguir em que X e Y são pesos determinados de acordo com a discrepância entre as amplitudes de pico nos instantes k-2 e k-1 e é um fator de amplitude. Em cada instante, o valor estimado de pico é dado por Re[k]=th[k-1]/ e seu valor inicial é baseado na máxima amplitude de um intervalo inicial do ECG. Há dois tipos de falha que ocorre no modelo do limiar: detecção falso-positiva (picos não-válidos) e detecção falso-negativa (picos válidos não identificados). Ambas as falhas podem ser corrigidas através da aplicação da transformada Wavelet. Primeiro, ao detectar-se um possível pico R, calcula-se o parâmetro t como segue em que I[k] é o último intervalo, entre RR[k] (pico já armazenado) e o pico em análise, m(R-R) é a média dos intervalos RR e é o desvio padrão destes intervalos. Se o parâmetro t exceder um fator de tolerância 1, então tem-se indicação de detecção falso-negativa e se t for menor que um parâmetro 2, tem-se indicação de detecção falso positiva. Na ocorrência de indicação de detecção falso-negativa, se o intervalo entre o último pico armazenado e o pico em teste não exceder um intervalo de tempo crítico, dado por 3 vezes o último intervalo R-R, então o algoritmo aplica no intervalo entre R[k] e o pico em teste a transformada Wavelet. Para o intervalo filtrado, um limiar temporário é calculado com base num novo fator de amplitude, que é determinado de acordo com as discrepâncias entre as amplitudes R[k-1] e R[k] e entre os intervalos I[k-1], correspondente aos picos R[k-1] e R[k], e I[k]. A Tabela a seguir, sintetiza o cálculo do limiar temporário: R[k-1] < 0.8*R[k] R[k-1] > 0.8*R[k] =0.50 =0.30 th[k]= *R[k-1] th[k]= *R[k] I[k]<2*I[k-1] =0.70 =0.50 th[k]= *R[k-1] th[k]= *R[k] Tabela 1 - Cálculo do limiar temporário para reconhecimento de picos não-detectados. I[k]>2*I[k-1] Na ocorrência de indicação de detecção falso-positiva separa-se um intervalo contendo o último pico armazenado R[k] e o pico em teste. Aplica-se sobre este intervalo a transformada Wavelet e obtém-se um limiar temporário dado por pela percentagem do máximo valor em módulo do sinal filtrado. Se o pico em teste ultrapassa o limiar e a sua distância com relação ao último pico armazenado não é menor que o comprimento do sinal “Chapéu de Mexicano”, utilizado na transformada, então, armazena-se a a sua posição como RR[k+1]. Se a distância do pico em teste com relação ao último pico armazenado é menor que o comprimento do sinal “Chapéu de Mexicano”, então RR[k] recebe a posição do pico com maior amplitude em módulo no sinal filtrado. Detetor QS No detetor QS, determina-se os limites do complexo QRS, a partir das posições dos picos R já obtidos. Calcula-se a energia de cada complexo QRS pela soma dos quadrados das amostras contidas no intervalo definido pelos picos Q e S. O processo inicia-se com um estágio de treinamento que determina a escala inicial da transformada Wavelet. Estágio de Treinamento A Wavelet “Chapéu de Mexicano” é definida em um intervalo [Ti,Tf] e, dada a sua resolução desejada S, o espaçamento entre cada amostra é dado por (Tf-Ti)/S. Esta relação define o parâmetro de escala da transformada Wavelet. A partir de um certo número de picos R já determinados no exame, testa-se uma seqüência de resoluções para a Wavelet “Chapéu de Mexicano, dada por td_R. Então, obtém-se uma janela de tamanho td_R[k] em torno de cada pico R já detectado, sobre a qual aplica-se a transformada. Determinam-se os pontos críticos mais próximos à posição correspondente ao pico R. Tomando estes pontos como possíveis limites do complexo QRS, efetua-se um teste de eficiência da filtragem. Teste de Eficiência da Filtragem Com o objetivo de avaliar a filtragem efetuada, determina-se uma relação entre a energia do sinal correspondente ao intervalo obtido no estágio anterior e a energia do sinal “Chapéu de Mexicano” utilizado na transformada. Os dois sinais são transladados para que os picos sejam coincididos e as amplitudes das amostras do intervalo correspondente ao QRS são normalizadas em relação às amplitudes máxima e mínima do “Chapéu de Mexicano”. Então, o seguinte parâmetro de erro é calculado: Este parâmetro, calculado em forma de média, informa a evolução da eficiência da filtragem para uma seqüência de resoluções do sinal “Chapéu de Mexicano” na detecção das ondas Q e S. O estágio de treinamento toma como resolução td para o sinal “Chapéu de Mexicano” aquela amostra da seqüência td_R que houver produzido menor valor médio do erro e, ao longo dos batimentos para treinamento. Estágio de Detecção e Adaptação A detecção das ondas Q e S é efetuada após cada detecção dos picos R. A resolução da transformada Wavelet que é inicialmente usada é aquela determinada no estágio de treinamento. Contudo, o parâmetro de erro, explicado na seção anterior, é continuamente calculado e monitorado. A discrepância entre intervalos consecutivos, correspondentes à duração do complexo QRS, também é avaliada. A atualização do parâmetro de escala da transformada se dá quando, por dois batimentos consecutivos, o erro obtido para uma dada aplicação da transformada excede aquele erro mínimo médio encontrado no estágio de treinamento de um fator configurável, ou se o intervalo entre os picos Q e S, varia de um determinado fator também configurável. Reconhecimento do Padrão da Contração Ventricular Prematura De posse dos intervalos R-R, obtidos pela detecção das ondas R, e dos limites de cada complexo QRS, obtidos pela detecção das ondas Q e S, elaborou-se um algoritmo simples de reconhecimento das contrações ventriculares prematuras. Três condições são testadas para que seja detectada a ocorrência de batimentos que caracterizam a contração ventricular prematura. Primeiramente, é verificada a ocorrência de uma pausa compensadora seguida de um batimento precoce. Os intervalos consecutivos em que se verifica uma relação do tipo I[k] > (1+ )*I[k-1], em que é um fator de superação configurável, são selecionados. Três batimentos definem estes dois intervalos, sendo o batimento central aquele que provavelmente corresponde a uma contração prematura. Então, calcula-se a energia do complexo QRS dos três batimentos de cada par de intervalos selecionados. Os grupos de intervalos que possuírem energia do QRS central maior do que a energia dos complexos QRS adjacentes, de um dado fator configurável são selecionados. Finalmente, procede-se a determinação do pico da onda T correspondente ao batimento central dos grupos selecionados no teste anterior. Calcula-se um limiar a partir da máxima amplitude do intervalo entre o QRS central e o terceiro QRS de cada grupo. Obtém-se o pico mais próximo do QRS central. Se este pico obtido e a onda R do QRS central apresentarem amplitudes de sinal contrário, então o QRS central do par de intervalos correspondente é reconhecido como uma contração ventricular prematura. preditividade positiva (+P%) e uma taxa de erro de detecção (DER %) de 1.27%. A Tabela 2 relaciona o desempenho do algoritmo, mostrando alguns resultados e a Figura 2 ilustra complexos QRS detectados para o exame 112. Record DER(%) Se(%) +P(%) 100 0 100 100 101 0 100 100 102 0.68 99.95 99.36 103 0 100 100 104 1.66 99.68 98.65 105 1.94 98.71 99.33 106 5.03 95.92 98.97 107 1.45 98.83 99.72 118 1.92 98.07 100 119 0 100 100 Tabela 2 - Resultados de Detecção do Complexo QRS Figura 2 - Complexos QRS detectados no exame 112 Para reconhecimento de contração ventricular prematura (CVP), testaram–se os exames 100, 102, 104, 105, 106, 116, 118 e 119. A Tabela 3 ilustra os resultados de detecção obtidos e a Figura 3 ilustra uma contração ventricular prematura reconhecida no exame 119 . Resultados A performance do algoritmo na detecção de complexos QRS e de contrações ventriculares prematuras é avaliada através de testes com a base de dados Arrhythmia Database do MIT-BIH. Obteve-se para detecção do complexo QRS 99.06% de sensitividade (Se%), 99.7% de Figura 3 - Contração ventricular reconhecida no exame 119 correspondente ao batimento central Exame Total CVP CVP detectadas 100 1 1 102 4 3 104 2 0 106 520 222 116 109 38 118 96 43 119 444 442 Tabela 3 – Resultados do Reconhecimento de Contração Ventricular Prematura [4] [5] Discussão e Conclusões algorithm based on the Hilbert transform. Computers in Cardiology 2000, 24-27 Sept.2000 Pages:379 – 382. Tan, K.F.; Chan, K.L.; Choi, K.; Detection of the QRS complex, P wave and T wave in electrocardiogram. Advances in Medical Signal and Information Processing, 2000. First International Conference on (IEE Conf. Publ. No. 476) , 4-6 Sept. 2000 Pages:41 47. Martinez, J.P.; Olmos, S.; Laguna, P.; Evaluation of a wavelet-based ECG waveform detector on the QT database. Computers in Cardiology 2000 , 24-27. Sept.2000, Pages 181-184. Kadambe, S.; Murray, R.; Boudreaux-Bartels, G.F.; Wavelet transform-based QRS complex detector. Biomedical Engineering, IEEE Transactions on, Volume: 46 , Issue: 7 , July 1999. Pages:838 – 848. Oliveira, F. Ivan.; Cortez, P.C.; A new algorithm for determining the cardiac rhythm nd in electrocardiogram. 2 Brasilian Symposium of Software Quality – 2003. O método mostrou-se muito eficiente na detecção de complexos QRS, inclusive em exames com forte contaminação de ruído, como 105, e com expressiva variação da morfologia do complexo QRS, como o 106. Com relação ao reconhecimento das contrações ventriculares prematuras, obteve-se uma taxa de detecção de 63.7%. Levando em consideração que o método não utiliza pré-procesamento, mas apenas as informações obtidas pelo detector QRS, que são os intervalos R-R e os limites de cada complexo QRS, os resultados são considerados satisfatórios. No entanto, mais simulações serão realizadas e novos resultados serão documentados para o método proposto. Contato Referências João Paulo do Vale Madeiro [1] Guyton, Arthur C.; Hall, John E.; “Textbook of Medical Physiology”, Guanabara Koogan S.A., 2002. [2] Brener,J., 1967. “Heart rate”, on book of P.H Venables & I. Martin, “Manual of Psychophysiological methods”, Amsterdam: North-Holland. [3] Benitez, D.S.; Gaydecki, P.A.; Zaidi, A.; Fitzpatrick,A.P.;. A new QRS detection [6] [7] Departamento de Engenharia de Teleinformática – DETI Universidade Federal do Ceará Fone: 85 2889582 E-mail: [email protected]