eletrocardiÓgrafo portÁtil para animais … · in humans, positioned in the front and rear...
TRANSCRIPT
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL
FACULDADE DE ENGENHARIA
ELETROCARDIÓGRAFO PORTÁTIL PARA ANIMAIS DE PEQUENO PORTE
Porto Alegre, 06 de dezembro de 2017.
Autor: Marcirio Ruschel Oliveira
Pontifícia Universidade Católica do Rio Grande do Sul
Curso de Engenharia de Controle e Automação
Av. Ipiranga 6681, – Prédio 30 - CEP: 90619-900 – Porto Alegre – RS– Brasil
Email: [email protected]
Orientador: Júlio César Marques de Lima, Me. Eng.
Pontifícia Universidade Católica do Rio Grande do Sul
LEPUC - Laboratório de Eletrônica de Potência
Av. Ipiranga 6681, – Prédio 30 - Sala 312 CEP: 90619-900 – Porto Alegre – RS– Brasil
Telefone: (51) 3320-3500, ramal: 7688 – Email: [email protected]
RESUMO
Os eletrocardiógrafos para uso veterinário existentes hoje no mercado, utiliziam
prendedores para conectar o aparelho ao animal, o que causa desconforto e dor no mesmo.
O projeto desenvolvido e descrito no presente trabalho, visa minimizar o desconforto do
animal, realizando as medidas através de eletrodos, similar aos que são utilizados em humanos,
posicionados nos coxins palmares e plantares e exibindo o sinal em uma tela incorporada no
aparelho.
Utilizando um microcontrolador, os sinais da atividade elétrica do coração são amostrados
e filtrados, utilizando um filtro FIR e exibidos em um display gráfico colorido.
Palavras-chave: Eletrocardiograma (ECG), Eletrocardiógrafo, Medicina Veterinária.
2
ABSTRACT
Veterinary electrocardiographs on the market today use fasteners to attach the device to the
animal, which causes discomfort and pain in the animal.
The project developed and described in the present work, aiming to minimize the
discomfort of the animal, performing as measurements through electrodes, similar to those used
in humans, positioned in the front and rear digital pads and displaying the signal on a screen
incorporated in the device.
Using a microcontroller, the electrical activity signals from the heart are sampled and
filtered, using a FIR filter and displayed on a colored display.
Key words: Electrocardiogram (ECG), Electrocardiograph, Veterinary Medicine.
1. INTRODUÇÃO GERAL
Na introdução serão apresentados a descrição do problema, bem como os objetivos do
trabalho, a descrição da proposta e o referencial teórico.
1.1. Descrição do Problema
Atualmente, os eletrocardiógrafos utilizados em animais de pequeno porte, utilizam
eletrodos no formato de prendedores.
Figura 1 – Eletrodos utilizados em eletrocardiógrafo veterinário
Fonte: Autoria Própria
Esses eletrodos causam desconforto e dor nos animais, pois beliscam a pele dos mesmos,
fazendo com que o animal fique inquieto e estressado, podendo causar alterações na frequência
3
cardíaca e desconexão dos eletrodos. Também há a necessidade de conectar o equipamento à
um software de computador. Este software faz o tratamento dos dados e os envia para um
laboratório para ser feito o laudo médico.
1.2. Descrição da proposta
Levando em consideração o bem estar animal e a praticidade, surgiu a ideia de fazer um
eletrocardiógrafo que realize as medições através de eletrodos posicionados nos coxins
palmares e plantares do animal, exibindo os dados em uma tela.
1.3. Principais objetivos
Como principais objetivos deste artigo pode-se citar:
a) A proposição de um equipamento que minimize o desconforto animal;
b) Desenvolvimento de um protótipo do equipamento;
c) Estudos de filtros digitais utilizados em Eletrocardiogramas;
d) Desenvolvimento de uma caixa para posterior impressão 3D;
e) Estudo da atividade elétrica do coração.
1.4. Delimitações do Trabalho
O presente trabalho visa o estudo de filtros recursivos de resposta ao impulso finito (FIR –
Finite Impulse Response) e a aplicação em um eletrocardiógrafo.
Não serão abordados neste trabalho, filtros IIR, outras técnicas de janelamento, testes em
animais e simuladores de ECG.
2. REFERENCIAL TEÓRICO
Neste tópico é apresentado o referencial teórico, cujo objetivo é apresentar o embasamento
para o desenvolvimento do artigo.
2.1. Fluxograma de desenvolvimento
O presente artigo foi desenvolvido conforme o fluxograma da figura 2.
4
Figura 2: Fluxograma de desenvolvimento
Fonte: O autor
2.2. O Eletrocardiograma
O eletrocardiograma (ECG) é um exame que se tornou fundamental no exercício clinico e,
atualmente, é o procedimento mais utilizado em cardiologia. (KLIGFIELD 2002), (FYE, 1994)
Em 1616, William Harvey, começou a correlacionar os batimentos cardíacos com a
corrente sanguínea, e posteriormente, identificou que a atividade cardíaca ocorre através de
pulsos elétricos (FYE, 1994). O eletrocardógrafo, por definição, é um aparelho que mede o
potencial elétrico gerado pelo coração e é exibido através de gráficos em função do tempo,
sendo o resultado denomidado eletrocardiograma.
2.2.1. A atividade elétrica do coração
O sinal elétrico é gerado pela polarização e despolarização cardíaca, que em um indivíduo
saudável, tem origem no nódulo de Keith-Flack (ou nódulo sinusal), no átrio direito. Em
seguida o estímulo passa para o nódulo de Aschoff-Tawara (ou nódulo atrioventricular),
localizado no átrio esquerdo, passa para o feixe de His e seus ramos direito e esquerdo, para a
rede de Purkinje e depois para os ventrículos. (TRANCHESI, 2001)
A figura 3 representa um sinal básico de um ECG.
5
Figura 3 – Elementos do eletrocardiograma normal
Fonte: Revista Brasileira de Cardiologia. (FERREIRA; de SOUZA; CAMACHO,
1998)
2.2.2. Remoção de ruídos
No ECG, há incidencia de ruídos provenientes da rede elétrica (60 Hz), interferências
biológicas, que são ruídos elétricos gerados por outros músculos e interferências de análise, que
são erros de digitalização e arrendondamentos das amostras. (IGARASHI, 2007)
De acordo com Igarashi (2007), para o tratamento destes ruídos, utilizam-se diversos
filtros, tais como:
• Filtro passa-altas: aplicado para remoção da oscilação da linha de base
• Filtro passa-baixas: remoção do ruído muscular
• Filtro Notch: remoção do ruído 60Hz da rede elétrica.
• Filtro casado: utilizado para comparação de uma forma de onda com outra considerada
padrão e sobreposição de ambas para a conclusão sobre coincidência ou não Sua utilização é
fundamental para que seja encontrado o complexo QRS do sinal ECG e seja feita, portanto,
uma posterior análise da forma de onda e detecção de possíveis anomalias, auxiliando o
profissional da área na constatação de patologias.
2.3. Projeto do filtro
O filtro implementado é um FIR (“Finite Impulse Response”), passa-banda, sendo Nf a
ordem do filtro, com as frequências de corte em 𝑓1, 𝑓2 a frequência de amostragem 𝑓𝑠 e
6
utilizando a janela de Hamming, como descrito no livro “Processamento Digital de Sinais”
(DINIZ; da SILVA; NETTO, 2014). As frequências de corte foram escolhidas baseado em
Eletrocardiogramas reais de cães, exemplificado na figura 4.
Figura 4: Eletrocardiograma real de um cão
Fonte: Dra. Simone P. Vaz, Médica Veterinária, 2017
2.3.1. Cálculo dos coeficientes
Os coeficientes do filtro são calculados a partir da equação da resposta ao impulso de um
filtro passa-banda ideal:
ℎ𝑃𝐵[𝑛] =
{
𝑠𝑒𝑛(𝜔𝑐2(𝑛 −𝑀))
𝜋(𝑛 −𝑀)− 𝑠𝑒𝑛(𝜔𝑐1(𝑛 − 𝑀))
𝜋(𝑛 −𝑀); 𝑛 ≠ 𝑀
𝜔𝑐2 − 𝜔𝑐1𝜋
; 𝑛 = 𝑀
(1)
Onde M é o índice do coeficiente do meio:
𝑀 =
𝑁𝑓
2
(2)
7
As frequências de corte são normalizadas a partir da equação:
𝜔𝑐 =
2 𝜋𝑓𝑐𝑓𝑠
(3)
Para o cálculo dos coeficientes da janela de Hamming é utilizada a expressão:
𝑤[𝑛] = 0,54 − 0,46cos (
2𝜋𝑛
𝑁𝑓) ; 0 ≤ 𝑛 ≤ 𝑁𝑓
(4)
Por fim, os coeficientes do filtro FIR são obtidos muliplicando os coeficientes do filtro
passa-banda ideal pelos coeficientes da janela de Hamming, conforme a equação (5).
ℎ[𝑛] = ℎ𝑃𝐵[𝑛]𝑤[𝑛]; 0 ≤ 𝑛 ≤ 𝑁𝑓 (5)
Os filtros não-recursivos são caracterizados pela equação de diferença, sendo 𝑦(𝑛) o sinal
filtrado e 𝑥(𝑛) o valor do sinal original:
𝑦(𝑛) =∑ℎ(𝑙)𝑥(𝑛 − 𝑙)
𝑁𝑓
𝑙=0
(6)
Como o filtro é simétrico, a equação pode ser simplificada, reduzindo o número de
operações matemáticas e o custo computacional:
𝑦(𝑛) = ∑ (ℎ(𝑙) (𝑥(𝑙) + 𝑥(𝑁𝑓 − 𝑙))) + ℎ (𝑁𝑓
2)𝑥 (
𝑁𝑓
2)
𝑁𝑓2−1
𝑙=0
(7)
3. APLICAÇÃO DA METODOLOGIA PROPOSTA
Para a aquisição dos dados do ECG, foi utilizado uma placa de desenvolvimento da ST
Microelectronics STM32F4 Discovery, que utiliza o microcontrolador STM32F407 em
conjunto com uma placa de desenvolvimento da SparkFun que utiliza o AD8232, que é um
circuito integrado desenvolvido especificamente para aquisição de impulsos elétricos
biométricos. O sinal é filtrado pelo método descrito no presente trabalho, e por fim, o mesmo é
exibido em um display gráfico colorido de 480x320 pixels.
8
3.1.1. Descrição do esquema elétrico
O sinal elétrico gerado pelo coração, é medido pelo AD8232, que é um circuito integrado
projetado para extrair, amplificar e filtrar pequenos sinais biopotenciais, que são filtrados e
amplificados 100 vezes. O microcontrolador utilizado é o STM32F407VG e possui um
processador ARM® Cortex®-M4, que opera à 168MHz. Também possui três conversores
analógico digital de 12 bits e 12 timers de 16 bits cada. Este microcontorlador amostra o sinal
gerador pelo AD8232, através do conversor ADC (Analog Digital Converter), filtra o sinal e o
exibe no display gráfico.
A ligação elétrica foi feita conforme o esquema mostrado na figura 5.
Figura 5: Esquema de ligação
Fonte: O autor
3.2. Projeto mecânico
Para evitar danos aos componentes eletrônicos, foi projetado uma caixa, mostrado na figura
6 e produzida através do processo de impressão 3D.
9
Figura 6: Conceito da caixa
Fonte: O autor
Como solução do problema dos eletrodos em formato de prendedores, utilizados
atualmente em animais, é proposto que sejam utilizados eletrodos planos, para que sejam
posicionados nos coxins do animal, causando pouco desconforto ao mesmo. A figura 7 ilustra
o conceito da base do eletrodo e o eletrodo completo, respectivamente.
Figura 7: Conceito do eletrodo
Fonte: O autor
3.3. Aquisição dos dados
O ADC é configurado para operar utilizando DMA (Dynamic Memory Access). O DMA é
um periférico que transfere dados do conversor analógico digital para a memória do
microcontrolador, não sendo necessário aguardar a comunicação entre o microprocessador e a
10
memória e o conversor analógico digital, liberando o microcontrolador para outras atividades.
O acesso por DMA, simplesmente lê o valor do ADC e armazena diretamente na memória.
Com o comando mostrado na figura 8, é definido que o periférico DMA armazene o valor
do sinal amostrado pelo ADC na variável pulso_ECG.
Figura 8: Trecho do código no qual é configurado o DMA
Fonte: O autor
Para manter a frequência de amostragem constante, é utilizado o Timer 3 e configurado
como mostra a figura 9. A frequência base do timer (no código é definido como
TIM_CLOCKSOURCE_INTERNAL) é de 84MHz, dividindo a frequência base pelo Prescaler
+ 1 e pelo Period + 1, obtém-se a frequência de interrupção 1kHz.
Figura 9: Configuração do Timer 3
Fonte: O autor
3.4. Cálculo dos coeficientes
Na mesma função de interrupção do Timer é aplicado o filtro anteriormente descrito,
portanto, a frequência de amostragem é 𝑓𝑠 = 1𝑘𝐻𝑧 e a ordem do filtro implementado é 𝑁𝑓 =
100. Inicialmente é calculado o índice do coeficiente central, utilizando a equação 2.
𝑀 = 50
(6)
11
Após, utilizando a equação 3, as frêquencias de corte que são exibidas da figura 4, são
normalizadas.
𝜔𝑐1 = 0,001𝜋
𝑟𝑎𝑑
𝑠
𝜔𝑐2 = 0,08𝜋 𝑟𝑎𝑑
𝑠
(7)
E então, os coeficientes do filtro bassa-banda ideal são calculados (1), assim como os
coeficientes da janela de Hamming (4).
Multiplicando os coeficientes do filtro passa-bandas ideal pelos coeficientes da janela de
Hamming, obtemos os coeficientes ℎ(𝑛), que serão utilizados no filtro. Na tabela 1 estão
representados os coeficientes de h(0) até h(50), pois como será explicitado a seguir, os
coeficientes são simétricos.
Tabela 1: Coeficientes do filtro FIR
h(0) = -0,000079671 h(13) = 0,000018119 h(26) = -0,0024447 h(39) = 0,0086337
h(1) = -0,0002113 h(14) = 0,00055701 h(27) = -0,0045818 h(40) = 0,016154
h(2) = -0,00035048 h(15) = 0,0011722 h(28) = -0,0068278 h(41) = 0,024372
h(3) = -0,00049649 h(16) = 0,0018244 h(29) = -0,0090289 h(42) = 0,03301
h(4) = -0,00064596 h(17) = 0,002461 h(30) = -0,011007 h(43) = 0,041756
h(5) = -0,00079182 h(18) = 0,003019 h(31) = -0,012569 h(44) = 0,050269
h(6) = -0,00092278 h(19) = 0,0034284 h(32) = -0,013518 h(45) = 0,058206
h(7) = -0,0010235 h(20) = 0,0036175 h(33) = -0,013664 h(46) = 0,065233
h(8) = -0,0010753 h(21) = 0,0035193 h(34) = -0,012842 h(47) = 0,071049
h(9) = -0,0010581 h(22) = 0,0030783 h(35) = -0,010918 h(48) = 0,075399
h(10) = -0,00095253 h(23) = 0,0022577 h(36) = -0,0078068 h(49) = 0,07809
h(11) = -0,00074264 h(24) = 0,0022577 h(37) = -0,0034782 h(50) = 0,079
h(12) = -0,00041907 h(25) = -0,00053945 h(38) = 0,002035
Fonte: O autor
3.5. Análise do filtro
Utilizando o comando “fvtool(h,'Analysis','freq')” no MatLab, obtém-se a magnitude e a
fase do filtro, como mostra a figura 10.
12
Figura 10 – Resposta em fase e magnitude
Fonte: O autor.
A figura 11 ilustra a resposta ao impulso.
Figura 11 – Resposta ao impulso
Fonte: O autor
3.6. Validação no MatLab
Para validação do filtro proposto, foram utilizados sinais de exames reais de seres humanos
(GOLDBERGER et al, 2017). Como o sinal que foi filtrado no MatLab possui uma frequencia
de amostragem de 360Hz, foi utilizado a mesma taxa de amostragem para o cálculo dos
coeficientes. A figura 12 ilustra o código utilizado.
13
Figura 12: Código para o cálculo dos coeficientes
Fonte: O autor
Após o cálculo dos coeficientes, o sinal original é carregado no MatLab e filtrado. A figura
13 mostra o trecho do código utilizado.
Figura 13: Código para o calculo dos coeficientes
Fonte: O autor
14
A figura 14 ilustra o sinal medido no paciente e o sinal filtrado. É possível notar que o
ruído presente no sinal original foi filtrado sem perder suas características, apenas um atraso de
fase, que neste caso é desconsiderado.
Figura 14: Sinal original
Fonte: O autor
3.7. Implementação em C
Para implementar o filtro em linguagem de programação C, os coeficientes h(n) são
declarados na forma de um vetor, mostrado na figura 15.
Figura 15: Vetor h(n)
Fonte: O autor
Na função de interrupção do Timer 3, é implementado o cálculo do filtro. O filtro é aplicado
à cada amostra do sinal, sendo y o valor filtrado do sinal, ECG_sign é um vetor que contém os
15
últimos 𝑁𝑓 valores amostrados. Este vetor é deslocado uma posição e o valor do ADC amostrado
é adicionado na última posição (fila circular). A figura 16 exibe o código implementado do
filtro.
Figura 16: Código de implementação do filtro
Fonte: O autor
3.8. Aquisição de dados
Para realizar a aquisição dos dados em seres humanos, e um eletrocardiógrado com três
eletrodos, os mesmos são posicionados no paciente conforme ilustra a figura 17.
Figura 17: Pontos de ligação dos eletrodos em seres humanos
Fonte: AD8232 Heart Rate Monitor Hookup Guide (CASEY, 2017)
Em cães, os eletrodos são posicionados no tórax do animal, conforme mostra a figura 18:
16
Figura 18: Pontos de ligação dos eletrodos em cães
Fonte: Pet Cardiology 2017
O método proposto para aquisição dos dados em cães, é posicionar a pata do animal sobre
o eletrodo, exemplificado na figura 19:
Figura 19: Posição dos eletrodos
Fonte: O autor
17
Os eletrodos foram impressos em uma impressora 3D e a parte superior foi coberta com
papel alumínio, para aumentar a superficie de contato. A figura 20 mostra os eletrodos
completos.
Figura 20: Eletrodos
Fonte: O autor
3.9. Validação do filtro
Utilizando dados de ECG obtidos do PhysioBank (GOLDBERGER et al, 2017) e
armazenados na memória do microcontrolador, os valores são filtrados e exibidos no display
colorido, mostrado na figura 21.
Figura 21: Sinal não filtrado
Fonte: O autor
18
Filtrando os dados amostrados, obtem-se o resultado mostrado na figura 22.
Figura 22: Sinal filtrado
Fonte: O autor
4. CONCLUSÃO
Foi proposto um sistema de aquisição de sinais de ECG para animais de pequeno porte e
apresentou uma forma de calcular os coeficientes e implementar um filtro FIR em um sinal real.
Em simulação, o filtro funcionou corretamente, reduzindo os ruídos elétricos e exibindo o sinal
na tela do aparelho.
Um dos objetivos do trabalho foi o de desenvolver eletrodos que fossem menos
desconfortáveis aos animais. Foram então desenvolvidos eletrodos no formato de placas, que
se mostraram eficazes e práticos na aquisição dos dados, não gerando desconforto ao animal.
Por ter um tamanho reduzido, o dispositivo se mostra útil, quando em uma clinica
veterinária, é necessário o acompanhamento de um animal cardiopata, sendo possível averiguar
a qualidade dos batimetos cardíacos, sem a necessidade de ter que deslocar o animal.
5. REFERÊNCIAS BIBLIOGRÁFICAS
CASEY THE ROBOT; AD8232 Heart Rate Monitor Hookup Guide SparkFun. Disponível
em: <http://sfe.io/t250> Acesso em: 09 nov 2017.
19
DINIZ, P. S. R.; da SILVA, E. A. B.; NETTO, S. L.; Processamento Digital de Sinais:
Projeto e Análise, 2. Ed, Porto Alegre, 2014.
FELDMAN, J.; GOLDWASSER, G. P.; Eletrocardiograma: recomendações para a sua
interpretação. Disponível em: <http://www.rbconline.org.br/artigo/eletrocardiograma-
recomendacoes-para-a-sua-interpretacao> Acesso em: 29 out 2017.
FERREIRA, W. L.; de SOUZA, R. C. A.; CAMACHO, A. A. A Eletrocardiografia na
medicina veterinária. Revista de Educação Continuada do CRMV-SP, São Paulo, v. 1, p.
054-057, 1998.
Fye WB. A history of the origin, evolution, and impact of electrocardiography. Am J
Cardiol 1994;73:937– 49.
Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, Mietus JE,
Moody GB, Peng C-K, Stanley HE. PhysioBank, PhysioToolkit, and PhysioNet: Components
of a New Research Resource for Complex Physiologic Signals. Disponível em:
<http://circ.ahajournals.org/content/101/23/e215.full> Acesso em: 11 ago 2017.
IGARASHI, Massaki de Oliveira; UNIVERSIDADE PRESBITERIANA MACKENZIE.
Escola de Engenharia. Utilização de filtros para remoção de interferência de sinais de
eletrocardiograma, 2007. 63p, il. Trabalho de Graduação.
Kligfield P. The centennial of the Einthoven electrocardiogram. J Electrocardiol
2002;35 Suppl:123–9.
PET CARDIOLOGY. Placing Holter Monitor Leads Disponível em: <http://www.pet-
cardiology.com/placing-holter-monitor-leads> Acesso em: 30 nov 2017.
TRANCHESI J. Eletrocardiograma normal e patológico: Noções de Vetocardiografia.
Revisada por MOFFA PJ, Sanches PCR. São Paulo: Roca; 2001.