ECG Gerado por Microcontrolador

Click here to load reader

  • date post

    09-Jan-2017
  • Category

    Documents

  • view

    222
  • download

    4

Embed Size (px)

Transcript of ECG Gerado por Microcontrolador

  • Universidade Estadual de LondrinaCentro de Tecnologia e UrbanismoDepartamento de Engenharia Eltrica

    Drio Guilherme Toginho

    ECG Gerado por Microcontrolador

    Londrina2015

  • i

    Universidade Estadual de Londrina

    Centro de Tecnologia e UrbanismoDepartamento de Engenharia Eltrica

    Drio Guilherme Toginho

    ECG Gerado por Microcontrolador

    Trabalho de Concluso de Curso orientado pelo Prof. Dr. Aziz EliasDemian Junior intitulado ECG Gerado por Microcontrolador eapresentado Universidade Estadual de Londrina, como parte dosrequisitos necessrios para a obteno do Ttulo de Bacharel emEngenharia Eltrica.

    Orientador: Prof. Dr. Aziz Elias Demian Junior

    Londrina2015

  • ii

    Ficha Catalogrfica

    Drio Guilherme ToginhoECG Gerado por Microcontrolador - Londrina, 2015 - 47 p., 30 cm.Orientador: Prof. Dr. Aziz Elias Demian Junior1. eletrocardiograma. 2.simulador. 3. PWM 4. arduino. 5. microcontrolador.I. Universidade Estadual de Londrina. Curso de Engenharia Eltrica. II. ECGGerado por Microcontrolador.

  • iii

    Drio Guilherme Toginho

    ECG Gerado por Microcontrolador

    Trabalho de Concluso de Curso apresentado ao Curso deEngenharia Eltrica da Universidade Estadual de Londrina,como requisito parcial para a obteno do ttulo de Bacharelem Engenharia Eltrica.

    Comisso Examinadora

    Prof. Dr. Aziz Elias Demian JuniorUniversidade Estadual de Londrina

    Orientador

    Prof. Dr. Ernesto Fernando FerreyraRamrez

    Universidade Estadual de Londrina

    Prof. Dr. Leonimer Flvio de MeloUniversidade Estadual de Londrina

    Londrina, 18 de fevereiro de 2016

  • iv

    A todos que acreditaram em meu potencial e me motivaram no meio do caminho.

  • v

    Agradecimentos

    Agradeo a minha famlia pelos sacrifcios, apoio e amor que recebi ao longo da minhavida. Aos meus amigos que me acompanharam ao longo dessa jornada chamada faculdade,e que me proporcionaram momentos dos quais levarei para sempre. Aos professores daUniversidade Estadual de Londrina, por terem nos ensinado no apenas disciplinas doplano de curso, mas tambm como ser profissionais srios e competentes.

    Agradecimentos especiais ao meu pai, Drio de Oliveira Toginho, por sempre me in-centivar a ir mais longe, por estar ao meu lado quando precisei, e por todo o carinho deuma vida. A minha tia, Daglie Margarete Toginho, por ter sido uma segunda me paramim, meiga e carinhosa, pelos ltimos anos. Ao meu tio, Dari de Oliveira Toginho, porter me ajudado e apoiado no s antes da minha graduao como durante ela.

    Ao professor da Universidade Estadual de Londrina, Aziz Elias Demian Junior, pelaorientao deste trabalho, por acreditar em mim, e por todo apoio ao longo do ltimoano.

    Aos amigos da faculdade, Fernando, Gabriel, Fernanda, Jssica, Luiz Ricardo, Jef-ferson, Daniel Galbes, Marco Aurlio e Edgar, por termos dividido uma sala de aulajuntos, dividido gargalhadas, e por ter dividido com vocs essa jornada dos ltimos anos.Aos amigos que me ajudaram quando eu estava em uma fase ruim da minha vida, Ana,Andria, Andressa, Arthur, Jssica e Natlia, por terem me ajudado a sair do poo deamargura onde eu estava, a seguir em frente com a vida, e proporcionar as melhoresrisadas que tive ao realizar esse trabalho.

  • vi

    "Ningum vai bater to forte quanto a vida. Mas no se trata do quanto voc bate devolta. Se trata do quanto voc aguenta apanhar e continuar seguindo em frente. assim

    que se conquista a vitria"(Rocky Balboa)

  • vii

    Drio Guilherme Toginho. 2015. 47 p. Trabalho de Concluso de Curso em Enge-nharia Eltrica - Universidade Estadual de Londrina, Londrina.

    ResumoO uso de eletrocardigrafos na medicina atual enorme. Durante o desenvolvimentode prottipos de tais aparelhos, por questes ticas e morais, no se utilizam cobaiashumanas. Para contornar isso, h circuitos que simulam os sinais eltricos do corao.Neste trabalho, os sinais eltricos do corao foram gerados pela filtragem de sinais PWMde um microcontrolador. A amostra do ECG foi obtida do banco de dados do PTB(Physikalisch-Techchnische Bundesanstalt), e ento foi modulada pelo MATLABTM paragerar o sinal PWM. As razes cclicas dos PWMs correspondentes as derivaes unipolaresforam utilizada no ArduinoTM como argumento de sada das portas PWM. As derivaesunipolares foram geradas simultaneamente, e a partir delas possvel obter as derivaesbipolares. O sistema foi simulado no ProteusTM e foram realizados testes em bancadacom osciloscpio e em um mdulo de obteno de ECG. Os sinais foram reproduzidoscom sucesso e mostraram-se coerentes com a amostra original.

    Palavras-Chave: 1. eletrocardiograma. 2.simulador. 3. PWM 4. arduino. 5. micro-controlador.

  • viii

    ECG Generated by Microcontroller. 2015. 47 p. Monograph in Engenharia Eltrica -Universidade Estadual de Londrina, Londrina.

    AbstractThe use of electrocardiographes nowadays in medicine is huge. During the developmentof prototypes of such devices, for ethical and moral matters, humans are not used as testsubjects. To come around this, there are circuits that simulate electrical signals of theheart. In this work, the electrical signals of the heart were generated by filtering a micro-controllers PWM signals. The ECG sample was obtained from the PTB (Physikalisch-Techchnische Bundesanstalt) database, then modulated through MATLABTM to generatethe PWM signal. The duty cycles of the PWMs corresponding to the unipolar leads wereused in the ArduinoTM as an argument for the PWM output ports. The unipolar leadswere generated simultaneously, and from them its possible to obtain the bipolar leads.The system was simulated on ProteusTM and tests were carried out in the workbench withoscilloscope and an ECG obtaining module. The signals were successfully reproduced andshowed them selves coherent with the original sample.

    Key-words: 1. electrocardiography. 2.simulator. 3. PWM. 4. arduino. 5. microcon-troller.

  • ix

    Lista de ilustraes

    Figura 1 Eletrocardiograma tpico, mostrando as ondas P, T e o complexo QRS. 3Figura 2 Estrutura do corao. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Figura 3 Diagrama em blocos de um ECG diagnstico. . . . . . . . . . . . . . . 5Figura 4 Tringulo de Einthoven. . . . . . . . . . . . . . . . . . . . . . . . . . . 5Figura 5 Colocao dos 9 eletrodos usados para obter as 12 derivaes clssicas. 6Figura 6 Derivao bipolar: (a) derivao I; (b) derivao II; (c) derivao III;

    (d) tcnica para derivar o vetor cardaco (no centro do tringulo), apartir das projees geomtricas dos vetores de membros. . . . . . . . . 6

    Figura 8 Derivaes pr-cordiais: o eletrodo ligado entrada no inversora doamplificador o eletrodo explorador, colocado em uma das posiespr-cordiais, um de cada vez. . . . . . . . . . . . . . . . . . . . . . . . 7

    Figura 7 (a) Central de Wilson; (b) a (d) derivaes aumentadas aVR, aVLe aVF; (e) relaes entre os vetores das derivaes de membros e asderivaes aumentadas no plano frontal. . . . . . . . . . . . . . . . . . 7

    Figura 9 Composio espectral dos sinais captados pelos eletrodos de ECG ecomposies espectrais de artefatos de movimento e rudo muscular -sinais que interferem no registro do ECG. . . . . . . . . . . . . . . . . 8

    Figura 10 (a)Sinal analgico e (b)Sinal PWM correspondente. . . . . . . . . . . . 8Figura 11 Circuito comparador que geral um sinal PWM. . . . . . . . . . . . . . 9Figura 12 Sinal PWM com TON e TOFF indicados, sendo TPWM = TON + TOFF . . 9Figura 13 Filtro passa-baixas RC de primeira ordem. . . . . . . . . . . . . . . . . 10Figura 14 Em azul o diagrama de bode do filtro de 1a ordem e em vermelho o de

    4a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Figura 15 Tpico sinal PWM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Figura 16 Sistema utilizado para interpolao. . . . . . . . . . . . . . . . . . . . . 13Figura 17 Exemplo de interpolao com L = 5. . . . . . . . . . . . . . . . . . . . 14Figura 18 Espectro do sinal xc(t). . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Figura 19 Circuito de filtragem utilizado. . . . . . . . . . . . . . . . . . . . . . . 18Figura 20 Onda PQRST gerada pela funo ecg() do MATLABTM . . . . . . . . . 19Figura 21 Espectro da onda PQRST gerada pelo MATLABTM . . . . . . . . . . . 19Figura 22 Circuito com ArduinoTM , filtros, buffer, chaves e divisores de tenso de

    sada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Figura 23 Derivao avR original . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Figura 24 Derivao avR obtida com distoro com total de dois sinais simultneas. 21

  • x

    Figura 25 Derivao avR simulada via software com escala de amplitude de 500mV/-div e de tempo de 200ms/div. . . . . . . . . . . . . . . . . . . . . . . . 22

    Figura 26 Derivao avR gerada pelo microcontrolador. . . . . . . . . . . . . . . 22Figura 27 Derivao avL original . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Figura 28 Derivao avL obtida com distoro com total de dois sinais simultneas. 23Figura 29 Derivao avL simulada via software com escala de amplitude de 500mV/-

    div e de tempo de 200ms/div. . . . . . . . . . . . . . . . . . . . . . . . 24Figura 30 Derivao avL gerada pelo microcontrolador. . . . . . . . . . . . . . . . 24Figura 31 Derivao avF original . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Figura 32 Derivao avF obtida com distoro com total de dois sinais simultneas. 25Figura 33 Derivao avF simulada via software com escala de amplitude de 500mV/-

    div e de tempo de 200ms/div. . . . . . . . . . . . . . . . . . . . . . . . 25Figura 34 Derivao avF gerada pelo microcontrolador. . . . . . . . . . . . . . . . 26Figura 35 Derivao bipolar I original. . . . . . . . . . . . . . . . . . . . . . . . . 26Figura 36 Derivao bipolar I simulada no ProteusTM . . . . . . . . . . . . . . . . 27Figura 37 Derivao bipolar II original. . . . . . . . . . . . . . . . . . . . . . . . 27Figura 38 Derivao bipolar II simulada no ProteusTM . . . . . . . . . . . . . . . . 27Figura 39 Derivao bipolar III original. . . . . . . . . . . . . . . . . . . . . . . . 28Figura 40 Derivao bipolar III simulada no ProteusTM . . . . . . . . . . . . . . . 28Figura 41 Derivao unipolar avR do mdulo de obteno. . . . . . . . . . . . . . 29Figura 42 Derivao unipolar avL do mdulo de obteno. . . . . . . . . . . . . . 29Figura 43 Derivao unipolar avF do mdulo de obteno. . . . . . . . . . . . . . 30Figura 44 Derivao bipolar I do mdulo de obteno. . . . . . . . . . . . . . . . 30Figura 45 Derivao bipolar II do mdulo de obteno. . . . . . . . . . . . . . . . 31Figura 46 Derivao bipolar III do mdulo de obteno. . . . . . . . . . . . . . . 31Figura 47 Sinal de ECG obtido da paciente mencionada na seo 3.2. . . . . . . . 47

  • xi

    Lista de Siglas e Abreviaturas

    A/D Analgico-DigitalavF Augmented Vector Foot - Derivao Aumentada PavL Augmented Vector Left - Derivao Aumentada EsquerdaavR Augmented Vector Right - Derivao Aumentada DireitaD/A Digital-AnalgicoECG EletrocardiogramaPWM Pulse Width Modulation - Modulao por Largurade Pulso

  • xii

    Lista de Smbolos e Notaes

    D Razo cclica do sinal PWMfPWM Frequncia do sinal PWMTOFF Perodo em que o sinal PWM est em nvel baixoTON Perodo em que o sinal PWM est em nvel altoTPWM Perodo do sinal PWMPalavras em itlico so empregadas para identificar termos de lngua inglesa notraduzidos.

  • xiii

    Sumrio

    Lista de ilustraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixSumrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1 Histrico do ECG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Objetivos do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 Justificativa do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 Materiais e mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 Fundamentaao Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1 Introduo ao Eletrocardiograma . . . . . . . . . . . . . . . . . . . . . . 32.2 PWM - Modulao por Largura de Pulso . . . . . . . . . . . . . . . . . . 82.3 Converso Analgica Digital por PWM . . . . . . . . . . . . . . . . . . . 92.4 Filtro Passa-Baixas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5 Converso Digital Analgica do sinal PWM atravs de FPB . . . . . . . 112.6 Interpolao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.7 ArduinoTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.1 Materiais, equipamentos e softwares utilizados . . . . . . . . . . . . . . . 163.2 Amostragem do sinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Configurao dos timers . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.4 Gerao e filtragem do sinal PWM . . . . . . . . . . . . . . . . . . . . . 173.5 Circuito utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    4 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.1 Testes iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4.1.1 Derivaes bipolares simuladas I, II, III. . . . . . . . . . . . . . . 264.2 Testes com mdulo de obteno de eletrocardiograma . . . . . . . . . . . 28

    5 Discusso Final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Apendice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    6.1 Termos da srie de Fourier de sinal PWM . . . . . . . . . . . . . . . . . 356.1.1 Termo a0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.1.2 Termo an . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.1.3 Termo bn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    6.2 Cdigo MATLABTM para obter razes cclicas . . . . . . . . . . . . . . . 35

  • xiv

    6.3 Cdigo em linguagem C utilizado no ArduinoTM . . . . . . . . . . . . . . 437 Anexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    7.1 Grfico do sinal de ECG original utilizado . . . . . . . . . . . . . . . . . 47

  • 1

    1 Introduo

    1.1 Histrico do ECG

    A eletrocardiografia teve seu invento entre o final do sculo XVIII e incio do sculoXIX. Atravs dela foi possvel compreender mecanismos e desenvolver tratamentos espe-cficos para arritmias. Willem Einthoven considerado o pai da eletrocardiografia porter desenvolvido o mtodo e famoso por ter criado o tringulo de Einthoven, que repre-senta as trs principais derivaes. Einthoven registrou o primeiro ECG na Europa em1892 usando o eletrmetro de Lippmann, em 1902 Einthoven realizou o primeiro registroeletrocardiogrfico de um ser humano, utilizando um galvanmetro modificado(PORTAL-EDUCAO, 2013).

    1.2 Objetivos do trabalho

    Implantar um sistema que dispense o uso de seres vivos em testes e calibrao deeletrocardigrafos utilizando filtragem analgica de sinal PWM gerado por microcontro-lador.

    1.3 Justificativa do trabalho

    Ao desenvolver ou calibrar um eletrocardigrafo, testes em seres vivos levantam mui-tas questes, tanto ticas e morais quanto burocrticas. Um mdulo que simule os sinaiseltricos de um corao humano contornaria tais problemas, facilitando tanto o desenvol-vimento de prottipos de eletrocardigrafos quanto a calibrao de aparelhos j prontos.

    Atualmente h poucos sistemas que reproduzam sinais de ECG atravs de filtragemde sinal PWM. Um trabalho que utiliza filtragem de sinal PWM para converso D/A de (CANER; ENGIN; ENGIN, 2008), porm ele utiliza o mdulo conectado a um compu-tador por comunicao RS232 e UART (Universal Asynchronous Receiver Transmitter).Um simulador feito com microcontrolador e converso D/A por rede R2R foi pode serencontrado em (DRAGHICIU; CRETIU, 2013). Outra forma utilizada para reproduzirum sinal de ECG atravs da resoluo numrica, por mtodo de Runge-Kutta, de umconjunto de equaes diferenciais que representam o ECG, como feito em (WEI et al.,2012). Um exemplo de simulador de ECG com regulagem de vrios parmetros das on-das pode ser visto em (CHANG; TAIA, 2006), porm ele se limita somente a derivaesbipolares vistas individualmente.

  • Captulo 1. Introduo 2

    1.4 Materiais e mtodos

    Foi obtida uma amostra de ECG de um paciente annimo, fornecida pelo Physikalisch-Technische Bundesanstalt, que o instituto de pesos e medidas da Alemanha. A amostrafoi importada atravs do software MATLABTM , e atravs dele foi normalizada, e realizadaa modulao para obter um sinal digital do tipo PWM. Com o MATLABTM ainda, foramobtidos os valores de razo cclica do PWM e exportados para um arquivo de texto. Essesvalores foram inseridos no cdigo em linguagem C do ArduinoTM , o microcontroladorescolhido, e utilizados nas sadas PWM disponveis. Nessas sadas ento foram cascateadosfiltros passa-baixas de 4a ordem, utilizando resistores e capacitores. Na sada de cada filtrohavia um buffer seguido de uma chave seletora. A chave possua duas posies sendo umacom a sada do prprio buffer e a outra com a sada do buffer atenuada por um divisorde tenso, de forma que sua amplitude se encontrasse na faixa entre 10 mV e 25mV. Ostestes iniciais foram realizados em simulaes no software ProteusTM , e em seguida foramrealizados testes em bancada com osciloscpio.

    Foram utilizados um kit de desenvolvimento ArduinoTM Uno, resistores e capacito-res para filtragem, amplificador operacional LM741 para o buffer, chave seletora, e ossoftwares MATLABTM , ProteusTM e o compilador de linguagem C do ArduinoTM .

    1.5 Estrutura do trabalho

    No captulo 2 deste trabalho apresentada a fundamentao terica na qual ele sebaseou. Nele h um introduo ao eletrocardiograma, explicao sobre PWM e conversoA/D atravs de PWM, teoria de filtro passa-baixas e converso D/A utilizando filtro passa-baixas em sinal PWM, interpolao de sinais uma breve introduo ao ArduinoTM .

    No captulo 3 abordada a metodologia utilizada para realizao deste trabalho. Neleh sees detalhando os materiais e equipamentos utilizados, a forma como a amostra doECG foi obtida, a configurao dos timers do ArduinoTM , uma descrio sucinta de comoo sinal foi modulado, para gerar o PWM, utilizando o MATLABTM , e tambm como foifeita a filtragem do PWM. Ao final do captulo apresentado o circuito utilizado.

    No captulo 4 so apresentados os resultados do trabalho. Nele temos as simulaesdo circuito, as ondas visualizadas no osciloscpio na bancada, e tambm o sinal em ummdulo de obteno de eletrocardiografia.

    No captulo 5 so apresentadas a discusso final e concluses referentes ao trabalhorealizado, e sugestes de melhora para ele.

  • 3

    2 Fundamentaao Terica

    2.1 Introduo ao Eletrocardiograma

    O ECG o registro da atividade eltrica do corao. Os eventos eltricos resultan-tes do ciclo sstole/distole se propagam atravs do trax. Sua seqncia medida nasuperfcie do corpo atravs de eletrodos. O ECG representa a somatria de todas as ati-vidades eltricas que ocorrem a cada instante do ciclo cardaco, e produzido por umeletrocardigrafo ou por um monitor cardaco.

    A atividade eltrica do corao humano apresenta amplitude de at algumas dezenasde milivolts e pode ser detectada na superfcie do corpo do paciente.

    Figura 1 Eletrocardiograma tpico, mostrando as ondas P, T e o complexo QRS.

    Fonte: (UNICAMP/UNIFESP, 2016)

    Atravs do ECG possvel monitorar outros parmetros vitais, tais como taxa respi-ratria, presso sangunea, dbito cardaco e oxigenao do sangue, entre outros.

    Podemos ver as ondas que caracterizam um ECG na figura 1. A onda P representaa despolarizao dos trios, logo antes de sua contrao. No intervalo entre as ondas Pe Q, ocorre a passagem de sangue dos trios para os ventrculos atravs da valva mitrale da valva tricspide, vistas na figura 2. O complexo QRS representa a despolarizaoventricular antes de sua contrao. Simultaneamente ocorre a repolarizao dos trios,porm sua amplitude desprezvel comparada a despolarizao ventricular. A onda Trepresenta a repolarizao dos ventrculos (GUYTON; HALL, 2006).

  • Captulo 2. Fundamentaao Terica 4

    Figura 2 Estrutura do corao.

    Fonte: (GUYTON; HALL, 2006)

    Obtido atravs do eletrocardigrafo ou do monitor cardaco, o ECG usado paradeterminar frequncia cardaca e durao de cada elemento (P, QRS, T, P-R, S-T), deter-minar a frequncia respiratria (que modula a frequncia cardaca), e determinar o eixoeltrico do corao.

    Toda captao de biopotenciais sujeita a interferncias de outros sinais do ambienteou do prprio corpo do paciente, sendo essas interferncias de diversas naturezas. Fon-tes biolgicas e artefatos so potenciais de pele, onde a interface pele-gel-eletrodo podeacumular potenciais superiores a 25 mV. Esses podem ser reduzidos pela raspagem oupuno da pele, que elimina sua camada morta superficial e, no caso da puno, ultra-passa a barreira de outras camadas da pele, aumentando o contato eltrico. Os potenciaisCC tambm so eliminados por filtros passa-altas.

    Artefatos de movimento so sinais produzidos pelo movimento relativo entre pele eeletrodo, com modificao da linha de base ou presena de rudo no traado, dificultandosua interpretao.

    Rudo muscular quando os potenciais de ao da musculatura esqueltica tm amesma faixa de amplitude do ECG, mas sua faixa de frequncia maior. Podem sereliminados com filtros passa-baixas, atravs da colocao adequada dos eletrodos e dorepouso do paciente.

  • Captulo 2. Fundamentaao Terica 5

    Figura 3 Diagrama em blocos de um ECG diagnstico.

    Fonte: (UNICAMP/UNIFESP, 2016)

    Um sistema tpico de eletrocardiografia composto de 12 derivaes, o que significa ouso de 12 eletrodos distribudos pela superfcie corporal do paciente, como vistos na figura3. Os eletrodos correspondentes ao equiltero de Einthoven (derivaes I, II e III), vistona figura 4, so geralmente colocados sobre os pulsos (RA e LA) e no tornozelo esquerdo.Os 9 eletrodos restantes, vistos na figura 5, so colocados 1 em cada brao, 1 na pernaesquerda, 6 no peito e 1 na perna direita, que usado para reduzir interferncias eltricas.

    Figura 4 Tringulo de Einthoven.

    Fonte: (UNICAMP/UNIFESP, 2016)

  • Captulo 2. Fundamentaao Terica 6

    Figura 5 Colocao dos 9 eletrodos usados para obter as 12 derivaes clssicas.

    Fonte: (UNICAMP/UNIFESP, 2016)

    Os eletrodos LL, LA e RA so conectados rede de resistores conhecida como centralde Wilson, a partir da qual se obtm as derivaes dos membros I, II, III e as aumentadasaVL, aVR e aVF. O isolamento eltrico deve fornecer proteo ao pacientes contra riscosde choque eltrico.

    O sistema padro de 12 derivaes inclui 3 colocaes diferentes de eletrodos: derivaobipolar, derivao aumentada e derivao pr-cordial.

    Figura 6 Derivao bipolar: (a) derivao I; (b) derivao II; (c) derivao III; (d)tcnica para derivar o vetor cardaco (no centro do tringulo), a partir dasprojees geomtricas dos vetores de membros.

    Fonte: (UNICAMP/UNIFESP, 2016)

    As derivaes bipolares podem ser obtidas atravs de operaes das derivaes unipo-lares, como visto na figura 6, sendo:

    I = avL - avR;

    II = avF - avR;

    III = avF - avL;

    O terminal central de Wilson, visto na figura 7, um ponto com potencial eltricozero no corpo. A partir dele podemos obter as derivaes unipolares aumentadas.

  • Captulo 2. Fundamentaao Terica 7

    Figura 8 Derivaes pr-cordiais: o eletrodo ligado entrada no inversora do amplifi-cador o eletrodo explorador, colocado em uma das posies pr-cordiais, umde cada vez.

    Fonte: (UNICAMP/UNIFESP, 2016)

    Figura 7 (a) Central de Wilson; (b) a (d) derivaes aumentadas aVR, aVL e aVF; (e)relaes entre os vetores das derivaes de membros e as derivaes aumentadasno plano frontal.

    Fonte: (UNICAMP/UNIFESP, 2016)

    As derivaes pr-cordiais, vistas na figura 8, tem como finalidade observar as diversasparedes ventriculares.

    A faixa de frequncias utilizada para filtragem posterior a aquisio do sinal deveeliminar os rudos ambientais e biolgicos sem distorcer o sinal de ECG. O espectro dossinais captados pelos eletrodos podem ser vistos na figura 9. Valores tpicos para essafaixa so:

    0,5 a 40 Hz para monitorao;

    0,01 a 150 Hz para ECG diagnstico;

  • Captulo 2. Fundamentaao Terica 8

    Figura 9 Composio espectral dos sinais captados pelos eletrodos de ECG e composi-es espectrais de artefatos de movimento e rudo muscular - sinais que inter-ferem no registro do ECG.

    Fonte: (UNICAMP/UNIFESP, 2016)

    2.2 PWM - Modulao por Largura de Pulso

    Modulao consiste em alterar caractersticas de um onda (amplitude, frequncia,fase), de forma que tais mudanas representem algum tipo de informao portada por talsinal. Uma forma de modulao existente a PWM, que significa modulao por largurade pulso. Podemos ver na figura 10 que o sinal PWM possui amplitude e frequncia fixas,porm o tempo em que o sinal fica em nvel alto durante o tempo total do perodo, proporcional ao sinal analgico. (COUCH II, 2002).

    Figura 10 (a)Sinal analgico e (b)Sinal PWM correspondente.

    Fonte: (COUCH II, 2002).

    O tempo do sinal em nvel alto dividido pelo tempo do perodo dele, definido por

  • Captulo 2. Fundamentaao Terica 9

    razo cclica. Nesta monografia, razo cclica ser definida pela letra D.

    D = TONTPWM

    (2.1)

    2.3 Converso Analgica Digital por PWM

    Uma forma de converter um sinal analgico para digital atravs de PWM. As com-ponentes essenciais de um sinal PWM so a frequncia (fPWM) e a razo cclica (D).

    Figura 11 Circuito comparador que geral um sinal PWM.

    Fonte: Pgina da Maxim Integrated1.

    Uma forma de realizar tal converso atravs de um circuito comparador, com osinal analgico de interesse, e uma onda triangular como entradas, como na figura 11. Otempo em que o sinal analgico for maior que a onda triangular, ser o tempo TON dosinal digital PWM. Os perodos relevantes de um PWM podem ser vistos na figura 12,sendo TPWM = TON + TOFF . Para contornar a possibilidade de que pulsos se tornemum sinal puramente DC, utiliza-se a onda triangular com amplitude um pouco maior doque o pico do sinal analgico (10% a 20% do valor de pico). Embora conceitualmente aamplitude da onda triangular pode ser o valor de pico do sinal modulante, na prtica utilizado uma amplitude um pouco maior por segurana.

    Figura 12 Sinal PWM com TON e TOFF indicados, sendo TPWM = TON + TOFF .

    Fonte: Pgina da BVSYSTEMS2.

    Com esse procedimento, o sinal de interesse foi modulado atravs da largura variveldos pulsos da onda quadrada (MALVINO, 1995).1 Disponvel em Acesso em

    fev. 2016.2 Disponvel em Acesso em fev. 2016.

    https://www.maximintegrated.com/en/app-notes/index.mvp/id/1860http://www.bvsystems.be/k8055hardwareTutorial3.php

  • Captulo 2. Fundamentaao Terica 10

    2.4 Filtro Passa-Baixas

    Filtros so topologias de circuito usadas em grandes campos da engenharia eltrica,com aplicaes para reas de controle, eletrnica, engenharia biomdica, processamentode sinais, telecomunicaes, entre outras. Sua funo permitir a passagem de certasfrequncias que compem o sinal que ser filtrado. O filtro do tipo passa-baixas permitea passagem das frequncias abaixo de sua frequncia de corte.

    Um filtro pode ser tanto digital quanto analgico. A filtragem digital normalmente realizada por DSPs (Digital Signal Processors), e a analgica utiliza resistores, capacitores,indutores e amplificadores operacionais.

    A topologia mais simples de filtro passa-baixas o filtro RC de primeira ordem, que basicamente um divisor de tenso entre um resistor e um capacitor, como visto na figura13.

    Figura 13 Filtro passa-baixas RC de primeira ordem.

    Fonte: Artigo sobre Filtro Passa-Baixas na pagina inglesa da Wikipedia3.

    Para obtermos a funo de transferncia do filtro, dada por voutvin

    , feito um divisor detenso entre os dois componentes e o resultado dividido por vin.

    voutvin

    = vinXC

    R +XC1vin

    = XCR +XC

    (2.2)

    Onde XC a reatncia do capacitor, dada por:

    XC = j

    2fC (2.3)

    Sendo j =1, f a frequncia em que o circuito est operando e C a capacitncia.

    Substituindo na equao da funo de transferncia:

    voutvin

    = j2fCR j2fC

    (2.4)

    Em seguida, multiplica-se numerador e denominador por 2fCj

    :

    voutvin

    = 11 + j2fRC (2.5)3 Disponvel em Acesso em fev. 2016.

    https://en.wikipedia.org/wiki/Low-pass_filter

  • Captulo 2. Fundamentaao Terica 11

    Calculando o mdulo dessa equao, temos que:voutvin = 11 + (2fRC)2 (2.6)

    A frequncia de corte e definida quando a funo de transferncia igual a 12 , ou seja,quando f = 12RC . Essa atenuao e o equivalente a 3 dB. H tambm um decaimento de20 db/dcada.

    Um cascateamento no domnio da frequncia equivale a uma multiplicao das funesde transferncia, de forma que a funo de transferncia do filtro de 4a ordem dado por:

    voutvin 4a ordem

    =( 1

    1 + sRC

    )4= 11 + 4sRC + 6(sRC)2 + 4(sRC)3 + (sRC)4 (2.7)

    Onde s = j2f .Quando o circuito feito em cascata, a ordem do filtro aumenta, mantendo a frequncia

    de corte, porm aumentando a atenuao e a queda em dB/dcada. Ou seja, um filtro de4a ordem possui atenuao de 12 dB na frequncia de corte e decaimento de 80 dB/dcada.

    Figura 14 Em azul o diagrama de bode do filtro de 1a ordem e em vermelho o de 4a.

    101

    102

    103

    104

    140

    120

    100

    80

    60

    40

    20

    0

    Mag

    nitu

    de (

    dB)

    Bode Diagram

    Frequency (Hz)

    Fonte: Elaborada pelo autor utilizando MATLABTM .

    2.5 Converso Digital Analgica do sinal PWM atra-vs de FPB

    Uma forma simples de realizar a converso D/A de um sinal PWM atravs defiltros passa baixas. Na figura 15, podemos ver um sinal PWM comum, com parmetrosgenricos para razo cclica, perodo e valor de pico. Atravs desse sinal, possvel deduzira srie de Fourier do sinal PWM.

  • Captulo 2. Fundamentaao Terica 12

    Figura 15 Tpico sinal PWM.

    Fonte: Pgina TechTeach (Figura editada)4.

    Todo sinal peridico pode ser representado como uma srie de Fourier. Seja um sinalf(t) de perodo T , temos abaixo sua representao em srie de Fourier:

    f(t) = a0 +n=1

    (ancos

    (2ntT

    )+ bnsin

    (2ntT

    ))(2.8)

    Sendo:a0 =

    1T

    T0f(t)dt (2.9)

    an =2T

    TTf(t)cos

    (2ntT

    )dt (2.10)

    bn =2T

    T0f(t)sin

    (2ntT

    )dt (2.11)

    Ao calcular os termos da srie de Fourier para um sinal PWM, obtemos:

    f(t) = D.Vp +n=1

    Vpn

    (sin(2nD)cos

    ( 2ntTPWM

    )+ (1 cos(2nD)).sin

    ( 2ntTPWM

    ))(2.12)

    Idealmente, ao filtrar o sinal com uma frequncia de corte 1TP W M

    , somente a compo-nente contnua D.V p continuar presente. E conforme a razo cclica do PWM varia, atenso da componente DC tambm varia. Como a razo cclica do PWM filtrado varia emproporo ao sinal analgico original, a filtragem resultar, idealmente, no sinal original.4 Disponvel em Acesso em fev. 2016.

    http://techteach.no/simview/pwm_control/index.php

  • Captulo 2. Fundamentaao Terica 13

    2.6 Interpolao

    Interpolao o processo de elevar a taxa de amostragem de um sinal j amostrado.Seja um sinal continuo no tempo representado por xc(t), ele pode ser representado comoum sinal discreto no tempo como uma sequencia de amostras dado por:

    x[n] = xc(nTs) (2.13)

    Sendo Ts = 1fs o perodo de amostragem e n uma sequncia de nmeros inteiro positivo.Aumentando a taxa de amostragem do sinal por um fator L temos:

    xi[n] = x[n

    L

    ]= xc

    (nTsL

    )(2.14)

    O sistema utilizado para obter xi atravs de x[n] pode ser visto na figura 16. O blocoonde est escrito " L", um sistema chamado expansor de taxa de amostragem. A suasada dada por:

    xe[n] =

    x[nL

    ], n = 0,L,2L, ...,

    0, c.c.,(2.15)

    Sendo L um nmero inteiro positivo. Outra forma de representar xe[n] atravs de umasrie de impulsos multiplicados por x[n].

    xe[n] =

    k=x[k][n kL] (2.16)

    Figura 16 Sistema utilizado para interpolao.

    Fonte: (OPPENHEIM; SCHAFER; BUCK, 1999).

    Ou seja, o sinal aps o expansor se torna mais longo ao adicionar uma quantidadeadequada de zeros entre as amostras anteriores. Pode-se observar um exemplo na figura17.

  • Captulo 2. Fundamentaao Terica 14

    Figura 17 Exemplo de interpolao com L = 5.

    Fonte: (OPPENHEIM; SCHAFER; BUCK, 1999).

    O sinal xe[n] no domnio da frequncia obtido pela transformada de Fourier no tempodiscreto, dada por:

    X(ej) =

    n=x[n]ejn (2.17)

    Aplicando a transformada em xe[n]:

    Xe(ej) =

    n=

    k=

    x[k][n kL] ejn (2.18)

    Xe(ej) =

    n=x[k]ejLk = X(ejL) (2.19)

    V-se que Xe(ej) uma mudana de escala na frequncia do sinal original x[n].Aps o expansor, o sinal e aplicado a um filtro passa-baixas com frequncia de corte

    igual a L, sendo

    T= N onde, como visto na figura 18, N a largura de banda de xc(t).

    Figura 18 Espectro do sinal xc(t).

    Fonte: (OPPENHEIM; SCHAFER; BUCK, 1999).

    A resposta ao impulso do filtro utilizado :

    hi[n] =sin(n/L)

    nL(2.20)

  • Captulo 2. Fundamentaao Terica 15

    E possui as seguintes propriedades:

    hi[0] = 1,

    hi[n] = 0, n = L,2L, ...

    Convoluindo xe[n] com hi[n], obtemos a sada do sistema:

    xi[n] =

    k=x[k]sin[(n kL)/L]

    (n kL)/L (2.21)

    Para um filtro passa-baixas de interpolao ideal, ns temos:

    xi[n] = x[n/L] = xc(nT/L), n = 0,L,2L, ... (2.22)

    Ou seja, a quantidade de amostras do sinal aumentada(OPPENHEIM; SCHAFER;BUCK, 1999).

    2.7 ArduinoTM

    ArduinoTM uma plataforma de cdigo aberto para desenvolvimento em eletrnica eprogramao. Por ser cdigo aberto, torno-se muito popular no mundo inteiro, sendo uti-lizado por estudantes, artistas, entusiastas e ate mesmo profissionais(ARDUINO, 2016c).

    O modelo utilizado neste trabalho o ArduinoTM UNO. Esse kit utiliza um microcon-trolador ATmega328P, possui 14 entradas/sadas digitais, sendo que 6 delas podem serutilizadas como sadas PWM. Possui 6 entradas analgicas, um cristala de 16 MHz, cone-xo USB, entrada de alimentao, pinos de protocolo de comunicao ICSP (In-CircuitSerial Programming) e boto de reset(ARDUINO, 2016b).

    Seu uso muito simples, necessitando apenas conectar a placa em um computadoratravs de cabo USB, e utilizar o software disponibilizado no site ().

    https://www.arduino.cc/en/Main/Softwarehttps://www.arduino.cc/en/Main/Software

  • 16

    3 Metodologia

    3.1 Materiais, equipamentos e softwares utilizadosNeste trabalho foram utilizados resistores e capacitores para montagem do filtro passa-

    baixas, resistores para divisor de tenso, amplificadores operacionais como buffers paraisolao na sada do filtro, chaves seletoras de duas posies para selecionar entre ampli-tude mais elevada para medio no osciloscpio e baixa amplitude para uso em eletrocar-digrafo, kit de desenvolvimento ArduinoTM UNO, Osciloscpio Tektronix TDS 1001C-30EDU para testes, os softwares ProteusTM para simulao do circuito, MATLABTM paraprocessamento do sinal antes do microcontrolador, e o compilador ArduinoTM 1.0.5.

    3.2 Amostragem do sinal

    Para gerar o sinal de ECG, foram utilizadas amostras do banco de dados Physikalisch-Technische Bundesanstalt (PTB)1, que o Instituto Alemo de pesos e medidas. O bancocontem dados de ECG de diversos pacientes e pode ser exportado como matriz de dadospara o MATLABTM . Cada linha da matriz contm aproximadamente 10 perodos deamostras referentes as derivaes utilizadas. Foi realizado um processo de interpolao nosdados para elevar a frequncia de amostragem, e utilizado somente os primeiros elementosdo vetor contendo o primeiro batimento cardaco. O processo de interpolao realizadopela funo interp do MATLAB (MATHWORKS, 2016) pode ser vista na seo 2.6.

    Foi escolhido um paciente cujo diagnstico no apresentou cardiopatias, de modo quefosse uma amostra de controle. Os dados do paciente escolhido so:

    Sexo: Feminino;

    Idade: 67 anos;

    Data de aquisio do ECG: 28/02/1997;

    Em seguida, essas amostras foram comparadas com uma onda triangular, e a sadadessa comparao gerou o sinal modulado (PWM). Utilizando o MATLABTM ainda,foram obtidas as razes cclicas de cada perodo do sinal modulado. O cdigo foi escritode tal forma que 255 represente 100% de razo cclica, mantendo o mesmo padro derazo cclica do PWM do ArduinoTM .

    Com isso, foi obtida uma matriz contendo as razes cclicas de todas as derivaesutilizadas.1 DATABASE:PTB Diagnostic ECG Database

    (ptbdb), Record: patient267/s0504_re

    http://www.physionet.org/cgi-bin/atm/ATM

  • Captulo 3. Metodologia 17

    3.3 Configurao dos timersOs trs timers disponveis, timer0, timer1 e timer2 possuem frequncias de PWM

    diferentes entre si (2 timers de 31250 Hz e 1 timer de 62500 Hz), mas possvel alterartais frequncias utilizando divisores (1, 8, 64, 256 e 1024 para o timer0 e timer1, e 1, 8,32, 64, 128, 256 e 1024 para o timer2.

    Os timers escolhidos foram o timer0 e o timer1, ambos com o divisor de frequncia64, de forma que obtemos fPWM = 520, 8333Hz.

    3.4 Gerao e filtragem do sinal PWM

    Com a matriz de razo cclica gerada pelo MATLABTM , foi feito um cdigo que apercorresse e utilizasse os valores de D como argumento de sada dos pinos PWM. Essecdigo altera a frequncia de amostragem dos sinais importados, de forma que fiquemelevados o suficiente para gerar o PWM (256 elementos a cada perodo do PWM), eliminaas amostras seguintes a primeira de todas as derivaes, e normaliza suas amplitudes. Coma frequncia de amostragem alterada, foi gerada uma onda triangular com a frequnciado PWM e amplitude duas vezes maior que a dos sinais importados. Com os sinaisj normalizados, eles foram comparados com a onda triangular, elemento a elemento,gerando uma sada para cada derivao, em forma de uma onda quadrada cuja razocclica varia com o tempo.

    A parte seguinte do cdigo tem como objetivo obter as razes cclicas das ondasquadradas geradas.

    1 f o r i =1: l ength ( ecg ( 1 , : ) ) %Lao percorrendo o s i n a l de i n t e r e s s e a s e r modulado ;2 i f auxcont == 1 %Var ive l a u x i l a r u t i l i z a d a para contagem no lao ;3 i f s a ida (1 , i ) == 14 contagem = contagem + 1 ; %Var ive l de contagem de elementos em n v e l5 e l s e %a l t o ;6 dutycyc le_i ( end+1) = contagem ; %Assim que encontrado um n v e l baixo ,7 contagem = 0 ; %s i g n i f i c a a contagem encerrada , e se8 auxcont = 0 ; %i n i c i a novamente no prximo per odo do9 end %PWM;

    10 e l s e11 i f s a ida (1 , i ) == 0 %Caso o s i n a l de i n t e r e s s e tenha n v e l baixo , e l e man12 contagem = 1 ; %tem a contagem i g u a l a 1 . Seno , e l a incrementada ,13 e l s e %e a v a r i v e l a u x i l i a r muda para 1 , retornando a con14 contagem = contagem + 1 ; %dio a n t e r i o r do l a o .15 auxcont = 1 ;16 end17 end18 end1920 dutycyc le_i = dutycyc le_i ( dutycyc le_i ~= 0 ) ; %Cdigo para normal izar , e l iminando21 %os elementos d i f e r e n t e s de 0 ;

  • Captulo 3. Metodologia 18

    Foram utilizados laos em cada onda para contar o nmero de elementos em nvel altoa cada perodo de PWM, de forma que a razo cclica mxima fosse 255, e a mnima0, mantendo coerncia com o PWM do ArduinoTM . Com as razes cclicas obtidas,foram gerados vetores para cada derivao contendo suas respectivas. Em seguida, foramutilizados comandos para exportar tais dados em arquivo de texto. Foi possvel exportarseparando cada elemento por ","facilitando para implementar no microcontrolador.

    O ArduinoTM possui uma funo em linguagem C chamada analogWrite(pin,value)(ARDUINO, 2016a). Seus argumentos de entrada so o pino de PWM que ser utilizado,e a razo cclica do PWM, indo de 0 at 255. Os dados do arquivo de texto foram copiadospara o cdigo em linguagem C, e utilizados como argumento value da funo.

    Figura 19 Circuito de filtragem utilizado.

    Fonte: Elaborada pelo autor utilizando ProteusTM .

    Esses sinais digitais foram posteriormente filtrados por filtros RC Passa-Baixas de 4a

    ordem, visto na figura 19, feitos com capacitores de 82nF e resistores de 10k, e comfrequncia de corte de aproximadamente 194 Hz.

    A frequncia de corte foi escolhida baseando-se no espectro da onda PQRST geradapelo MATLAB?. A onda no domnio do tempo pode ser vista na figura 20 e no domnioda frequncia na figura 21. A frequncia desejada era de 200 Hz, pois nessa faixa epossvel obter grande parte da potncia do sinal, porm utilizando valores comerciais decomponentes, o mais prximo obtido foi de 194 Hz, como visto na equao abaixo:

    fcorte =1

    2RC =1

    2..10.103.82.109 ' 194, 0914 (3.1)

  • Captulo 3. Metodologia 19

    Figura 20 Onda PQRST gerada pela funo ecg() do MATLABTM .

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.71

    0.8

    0.6

    0.4

    0.2

    0

    0.2

    0.4

    0.6

    0.8

    1Sinal de ECG a 70 bpm

    Tempo [s]

    Am

    plitu

    de

    Fonte: Elaborada pelo autor utilizando MATLABTM .

    Figura 21 Espectro da onda PQRST gerada pelo MATLABTM .

    200 150 100 50 0 50 100 150 2000

    0.005

    0.01

    0.015

    0.02

    0.025

    0.03

    Frequncia [Hz]

    Espectro da onda PQRST

    Fonte: Elaborada pelo autor utilizando MATLABTM .

    A escolha da ordem do filtro foi realizada de maneira emprica, com simulaes noMATLABTM . Os testes realizados com 1a, 2a e 3a ordem ainda apresentao oscilaesno sinal de sada, de forma que 4aa ordem foi onde o sinal tornou-se mais fidedigno.

    3.5 Circuito utilizado

    O circuito utilizado pode ser visto na figura 22. Nela podemos ver os pinos utili-zados do ArduinoTM , os filtros utilizados, os buffers e os potencimetros na sada pararegulagem de amplitude do sinal. As chaves so para determinar se a sada ser comamplitude mxima para visualizao em osciloscpio ou com amplitude atenuada parauso em eletrocardigrafo.

  • Captulo 3. Metodologia 20

    Figura 22 Circuito com ArduinoTM , filtros, buffer, chaves e divisores de tenso de sada.

    DIG

    ITA

    L (~

    PW

    M)

    AN

    AL

    OG

    IN

    AT

    ME

    GA

    328P

    -PU

    1121

    ~~

    ~

    ~~

    ~

    TX

    RX PD0/RXD0

    PD1/TXD1

    PD2/INT02

    PD3/INT13

    PD4/T0/XCK4

    PD5/T15

    PD6/AIN06

    PD7/AIN17

    PB0/ICP1/CLKO8

    PB1/OC1A9

    PB2/SS/OC1B10

    PB3/MOSI/OC2A11

    PB4/MISO12

    PB5/SCK13

    AREF

    PC5/ADC5/SCLA5

    PC4/ADC4/SDAA4

    PC3/ADC3A3

    PC2/ADC2A2

    PC1/ADC1A1

    PC0/ADC0A0

    RESET

    ARD1

    ARDUINO UNO R3

    C182nF

    R1

    10k

    C282nF

    R2

    10k

    C382nF

    R3

    10k

    C482nF

    R4

    10k

    C582nF

    R5

    10k

    C682nF

    R6

    10k

    C782nF

    R7

    10k

    C882nF

    R8

    10k

    C982nF

    R9

    10k

    R10

    10k

    R11

    10k

    R12

    10k

    C1082nF

    C1182nF

    C1282nF

    AVF

    OPAMP

    AVL

    OPAMP

    AVR

    OPAMP

    SW1

    SW-SPDT

    R13

    100k

    R14430

    SW2

    SW-SPDT

    R15

    100k

    R16430

    SW3

    SW-SPDT

    R17

    100k

    R18430

    Fonte: Elaborada pelo autor utilizando ProteusTM .

    Com o upload do cdigo j realizado, e em seguida em osciloscpio de bancada paravisualizar os sinais correspondentes das derivaes unipolares. Tambm foram realizadostestes em um mdulo de aquisio de ECG (ARAI, 2016).

  • 21

    4 Resultados

    4.1 Testes iniciais

    Durante as primeiras tentativas, houveram problemas ao gerar os trs sinais simul-taneamente. Ocorriam atrasos entre cada ciclo, e os valores do vetor de razo cclicaestouravam, causando distoro nos sinais. Com dois sinais simultneos, os atrasos di-minuam consideravelmente, porm ainda havia distoro. Eles s eram reproduzidos demaneira fiel ao serem gerados individualmente.

    Figura 23 Derivao avR original

    0 0.2 0.4 0.6 0.8 1 1.2 1.40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Derivao avR original

    Fonte: Importada para o MATLABTM do PTB.

    Figura 24 Derivao avR obtida com distoro com total de dois sinais simultneas.

    Fonte: Obtida do osciloscpio.

  • Captulo 4. Resultados 22

    Figura 25 Derivao avR simulada via software com escala de amplitude de 500mV/dive de tempo de 200ms/div.

    Fonte: Elaborada pelo autor utilizando ProteusTM .

    Ao simular no ProteusTM os sinais simultaneamente, o problema no foi distoro,mas sim o fato de no haver sinal algum, tendo como sada dos pinos nvel de tenso de 0V. Na figura 23, temos o sinal avR original, como deveria ser reproduzido, j na figura 24,vemos o sinal com distoro ao ser reproduzido simultaneamente com outras derivaes,e na figura 25 o sinal simulado com uma nica sada, sem outras em paralelo.

    A mudana realizada que corrigiu tais problemas, foi alterar o tipo de varivel dosvetores de razo cclica. Em vez de utilizar "unsigned int", foi utilizada a varivel dotipo "byte". Com isso, os elementos do vetor no estouravam, e no houve mais atraso,pois unsigned int maior do que apenas um nico byte (KERNIGHAN; RITCHIE,1986). Isso foi confirmado ao executar o cdigo utilizando o computador para visualizaros valores de sada dos pinos PWM ciclo a ciclo. Haviam valores que saiam do limitede 255 necessrio para a funo "analogWrite", vista na seo 3.4. Com a mudana devarivel, o limite no foi mais estourado permitindo a execuo do cdigo.

    Figura 26 Derivao avR gerada pelo microcontrolador.

    Fonte: Obtida do osciloscpio.

    Na figura 26, podemos observar o sinal no osciloscpio aps essa mudana. Nota-se

  • Captulo 4. Resultados 23

    que no h mais a presena dos spikes causando distoro.

    Figura 27 Derivao avL original

    0 0.2 0.4 0.6 0.8 1 1.2 1.40.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Derivao avL original

    Fonte: Importada para o MATLABTM do PTB.

    Figura 28 Derivao avL obtida com distoro com total de dois sinais simultneas.

    Fonte: Obtida do osciloscpio.

    Podemos ver que o mesmo ocorreu com a derivao avL. Na figura 27 temos o sinaloriginal, na figura 28 o sinal distorcido com os spikes e o sinal simulado na figura 29. Nafigura 30 temos o sinal aps a mudana no cdigo removendo os spikes.

  • Captulo 4. Resultados 24

    Figura 29 Derivao avL simulada via software com escala de amplitude de 500mV/dive de tempo de 200ms/div.

    Fonte: Elaborada pelo autor utilizando ProteusTM .

    Figura 30 Derivao avL gerada pelo microcontrolador.

    Fonte: Obtida do osciloscpio.

    Assim como nas derivaes avR e avL, na avF ocorreram os mesmo eventos. Na figura31 temos o sinal original da derivao avF, e na figura 32 temos a derivao avF com seusspikes. Na figura 33 vemos a simulao do sinal no ProteusTM e na figura 33 temos aderivao avF obtida no osciloscpio aps a mudana no cdigo.

    A mudana do cdigo tambm fez com que as simulaes, assim como os sinais noosciloscpio, reproduzissem as 3 derivaes unipolares ao mesmo tempo.

  • Captulo 4. Resultados 25

    Figura 31 Derivao avF original

    0 0.2 0.4 0.6 0.8 1 1.2 1.40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Derivao avF original

    Fonte: Importada para o MATLABTM do PTB.

    Figura 32 Derivao avF obtida com distoro com total de dois sinais simultneas.

    Fonte: Importada para o MATLABTM do PTB.

    Figura 33 Derivao avF simulada via software com escala de amplitude de 500mV/dive de tempo de 200ms/div.

    Fonte: Elaborada pelo autor utilizando ProteusTM .

  • Captulo 4. Resultados 26

    Figura 34 Derivao avF gerada pelo microcontrolador.

    Fonte: Obtida do osciloscpio.

    4.1.1 Derivaes bipolares simuladas I, II, III.

    Para fins comparativos, foram realizadas operaes no ProteusTM , para obter as deri-vaes I, II e III. Abaixo podemos ver tanto as derivaes bipolares da amostra original, ea obtida atravs de operaes realizadas no ProteusTM das derivaes unipolares aumen-tadas. Sendo que:

    Bipolar I = avL - avR;

    Bipolar II = avF - avR;

    Bipolar III = avF - avL;

    Figura 35 Derivao bipolar I original.

    0 0.2 0.4 0.6 0.8 1 1.2 1.40.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Derivao bipolar I original

    Fonte: Importada para o MATLABTM do PTB.

  • Captulo 4. Resultados 27

    Figura 36 Derivao bipolar I simulada no ProteusTM .

    Fonte: Elaborada pelo autor utilizando ProteusTM .

    Na figura 35 vemos a derivao bipolar I importada para o MATLABTM , e na figura36, temos a derivao simulada. Esse sinal simulado foi obtido atravs da subtrao dossinais avL com avR, atravs de um amplificador operacional ideal.

    Figura 37 Derivao bipolar II original.

    0 0.2 0.4 0.6 0.8 1 1.2 1.40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Derivao bipolar II original

    Fonte: Importada para o MATLABTM do PTB.

    Figura 38 Derivao bipolar II simulada no ProteusTM .

    Fonte: Elaborada pelo autor utilizando ProteusTM .

  • Captulo 4. Resultados 28

    O mesmo ocorreu na derivao bipolar II. O sinal da figura 38 foi simulado com sub-trao dos sinais avF e avR atravs de um amplificador operacional ideal. Para comparar,na figura 37, vemos a derivao II original.

    Figura 39 Derivao bipolar III original.

    0 0.2 0.4 0.6 0.8 1 1.2 1.40.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    1.2Derivao bipolar III original

    Fonte: Importada para o MATLABTM do PTB.

    Figura 40 Derivao bipolar III simulada no ProteusTM .

    Fonte: Elaborada pelo autor utilizando ProteusTM .

    Assim como nas derivaes bipolares I e II, a III foi feita com amplificadores opera-cionais ideais, subtraindo avF e avL. Na figura 40 podemos ver o resultado da simulaoda derivao bipolar III e na figura 39 o sinal original.

    4.2 Testes com mdulo de obteno de eletrocardio-grama

    Foram realizados testes com um mdulo de obteno de eletrocardiograma(ARAI,2016) para observar as derivaes unipolares avR, avL e avF e tambm as derivaesbipolares I, II e III. O mdulo apresenta sua sada na tela de um computador.

    Nas figuras 41, 42 e 43 vemos o resultado das derivaes avR, avL e avF no mdulode aquisio.

  • Captulo 4. Resultados 29

    Figura 41 Derivao unipolar avR do mdulo de obteno.

    Fonte: Obtida pelo mdulo de aquisio.

    Figura 42 Derivao unipolar avL do mdulo de obteno.

    Fonte: Obtida pelo mdulo de aquisio.

  • Captulo 4. Resultados 30

    Figura 43 Derivao unipolar avF do mdulo de obteno.

    Fonte: Obtida pelo mdulo de aquisio.

    Nas figuras 44, 45 e 46 vemos o resultado das derivaes avR, avL e avF no mdulode aquisio.

    Figura 44 Derivao bipolar I do mdulo de obteno.

    Fonte: Obtida pelo mdulo de aquisio.

  • Captulo 4. Resultados 31

    Figura 45 Derivao bipolar II do mdulo de obteno.

    Fonte: Obtida pelo mdulo de aquisio.

    Figura 46 Derivao bipolar III do mdulo de obteno.

    Fonte: Obtida pelo mdulo de aquisio.

  • 32

    5 Discusso Final

    A proposta deste trabalho foi criar um mdulo que simulasse os sinais eltricos docorao a fim de dispensar o uso de seres vivos em testes e calibraes. O mtodo utilizadofoi a filtragem do sinal modulado atravs de PWM. Tais objetivos foram atingidos.

    Entre as dificuldades iniciais, uma delas foi encontrar um banco de dados com amostrasde ECG. Outra foi uma tentativa de criar um PWM manualmente no microcontrolador,com o objetivo de utilizar frequncia de PWM maior, entretanto, o uso da frequnciaescolhida no trabalho mostrou-se mais do que suficiente para atender as necessidades doprojeto.

    No foi possvel obter detalhes maiores das componentes de rudos inclusos natural-mente no ECG, como rudo muscular, rudo de 60 Hz da rede eltrica e composiesespectrais de artefatos de movimento. Estes rudos so importantes pois sem eles no possvel saber se os filtros do eletrocardigrafo em teste esto funcionando de maneiraadequada.

    Para trabalhos futuros, alm da adio dos rudos para um sinal mais fidedigno, sugerido o uso de um microcontrolador com mais portas PWM para reproduzir as deriva-es pr-cordiais, o uso de uma memria externa para armazenar ECGs com cardiopatiasalm de amostras saudveis. Tambm sugere-se o uso de um potencimetro para controleda frequncia dos batimentos cardacos e uma interface para o usurio, onde ele pode es-colher qual o tipo de sinal ele deseja reproduzir, alm de fornecer alguns dados em temporeal. Essa interface poderia ser feita tanto com display de LCD quanto uma tela touch.

  • 33

    Referncias

    ARAI, F. J. F. Mdulo de Obteno de Eletrocardiograma usando MicrocontroladorPIC. Monografia (Graduao em Engenharia Eltrica) Departamento de EngenhariaEltrica, Centro de Tecnologia e Urbanismo, Universidade Estadual de Londrina,Londrina, 2016. 20, 28

    ARDUINO. Arduino - analogWrite. 2016. Disponvel em: . Acesso em: 2016-02-12. 18

    ARDUINO. Arduino UNO & Genuino UNO - Overview. 2016. Disponvel em:. Acesso em: 2016-02-12. 15

    ARDUINO. What is Arduino? 2016. Disponvel em: . Acesso em: 2016-02-12. 15

    CANER, C.; ENGIN, M.; ENGIN, E. Z. The programmable ecg simulator. Journal ofMedical Systems, v. 32, p. 355359, 2008. 1

    CHANG, J.-R. C.; TAIA, C.-C. Accurate programmable electrocardiogram generatorusing a dynamical model implemented on a microcontroller. Review of ScientificInstruments, v. 77, 2006. 1

    COUCH II, L. W. Digital and Analog Communication Systems. 6. ed. [S.l.]: PrenticeHall, 2002. 8

    DRAGHICIU, N.; CRETIU, P. Ecg simulator. Journal of Electrical and ElectronicsEngineering, v. 6, p. 3336, 2013. 1

    GUYTON, A. C.; HALL, J. E. Tratado de Fisiologia Mdica Quarta Edio. [S.l.]:Saunders Elsevier, 2006. 3, 4

    KERNIGHAN, B. W.; RITCHIE, D. M. C - A Linguagem de Programao. [S.l.]:Campus, 1986. 22

    MALVINO, A. P. Eletrnica Vol. 2 Quarta Edio. [S.l.]: McGraw Hill, 1995. 9

    MATHWORKS. Interpolation - increase sampling rate by integer factor - MATLABinterp. 2016. Disponvel em: . Acesso em: 2016-02-15. 16

    OPPENHEIM, A. V.; SCHAFER, R. W.; BUCK, J. R. Discrete-Time Signal ProcessingSecond Edition. [S.l.]: Prentice Hall, 1999. 13, 14, 15

    PORTAL-EDUCAO. O Eletrocardiograma. 2013. Disponvel em: .Acesso em: 2016-02-09. 1

    UNICAMP/UNIFESP. GEMA - Gerenciamento de Manutenao de EquipamentosMdico-Hospitalares. 2016. [CD-ROM]. 3, 5, 6, 7, 8

    https://www.arduino.cc/en/Reference/AnalogWritehttps://www.arduino.cc/en/Reference/AnalogWritehttps://www.arduino.cc/en/Main/ArduinoBoardUnohttps://www.arduino.cc/en/Guide/Introduction#https://www.arduino.cc/en/Guide/Introduction#http://www.mathworks.com/help/signal/ref/interp.htmlhttp://www.mathworks.com/help/signal/ref/interp.htmlhttp://www.portaleducacao.com.br/enfermagem/artigos/30351/o-eletrocardiogramahttp://www.portaleducacao.com.br/enfermagem/artigos/30351/o-eletrocardiograma

  • Referncias 34

    WEI, Y.-C. et al. A three-lead, programmable, and microcontroller-based electrocardio-gram generator with frequency domain characteristics of heart rate variability. Review ofScientific Instruments, v. 82, 2012. 1

  • 35

    6 Apendice

    6.1 Termos da srie de Fourier de sinal PWM

    6.1.1 Termo a0

    a0 =1T

    T0f(t)dt = 1

    T

    Ton0

    Vpdt+1T

    TTon

    0dt = TonTVp = DVp (6.1)

    6.1.2 Termo an

    an =2T

    T0f(t)cos

    (2ntT

    )dt = 2

    T

    Ton0

    Vpcos(2nt

    T

    )dt+ 2

    T

    TTon

    0cos(2nt

    T

    )dt

    an =2T

    [Vp

    T

    2nsin(2nt

    T

    )]Ton0

    = Vpn

    sin(2nTon

    T

    )= Vpn

    sin(2nD) (6.2)

    6.1.3 Termo bn

    an =2T

    T0f(t)sin

    (2ntT

    )dt = 2

    T

    Ton0

    Vpsin(2nt

    T

    )dt+ 2

    T

    TTon

    0sin(2nt

    T

    )dt

    an =2T

    [Vp

    T

    2ncos(2nt

    T

    )]Ton0

    = Vpn

    cos(2nTon

    T

    )+ Vpn

    = Vpn

    (1cos(2nD)) (6.3)

    6.2 Cdigo MATLABTM para obter razes cclicas

    1 c l e a r a l l2 c l c3 % cd E: \EEUEL\EE2015\TCC\Amostras %Pasta contendo arquivo com amostras ;4 load ( s0504_rem ) %Carrega o arquivo com as amostras de ECG;56 %Normalizao da amplitude das amostras :7 ecg_o = val /1000 ;8 c l e a r va l9 %Freq . de c o r t e do f i l t r o passabaixas :

    10 f r e q F i l t r o = 194 ;11 bpm = 50 ;12 f r e q c a r d = bpm/60 ;13 %Freq . do PWM:14 f c = 31250/64;

  • Captulo 6. Apendice 36

    15 %Nmero de amostras por per odo de PWM:16 nS = 256 ;17 %Perodo de amostragem :18 Ts = 1/(nS f c ) ;19 f s = 1/Ts ;2021 tempo = Ts : Ts :1/ f r e q c a r d ;22 ecg = z e r o s ( l ength ( ecg_o ( : , 1 ) ) , l ength ( tempo ) ) ;2324 f o r l i n =1: l ength ( ecg ( : , 1 ) )25 %I n te r p o l a o do s i n a l ;26 aux1 = i n t e r p ( ecg_o ( l i n , : ) , f s /1000) ;27 %Se leo do pr ime i ro batimento ;28 ecg ( l i n , : ) = aux1 ( 1 : l ength ( tempo ) ) ;29 %Norm . de o f f s e t ;30 ecg ( l i n , : ) = ecg ( l i n , : ) + abs ( min ( ecg_o ( l i n , : ) ) ) ;31 %Norm . de p ico ;32 ecg ( l i n , : ) = ecg ( l i n , : ) / max( ecg ( l i n , : ) ) ;33 end3435 %Normalizao de ampl itudes de t r a n s i o :36 c6 = . 0 6 [ ones ( 1 , 4 . 841 e4 ) z e r o s (1 , (150 e3 4.841 e4 ) ) ] ;37 c7 = . 0 2 1 [ ones (1 , 5 . 156 e4 ) z e r o s (1 , (150 e3 5.156 e4 ) ) ] ;38 c9 = . 0 1 1 6 [ ones (1 , 7 . 084 e4 ) z e r o s (1 , (150 e3 7.084 e4 ) ) ] ;39 c12 = . 0 2 [ z e r o s (1 , 1 . 314 e5 ) ones (1 , (150 e3 1.314 e5 ) ) ] ;4041 ecg ( 6 , : ) = ecg ( 6 , : ) c6 ;42 ecg ( 7 , : ) = ecg ( 7 , : ) + c7 ;43 ecg ( 9 , : ) = ecg ( 9 , : ) + c9 ;44 ecg ( 1 2 , : ) = ecg ( 1 2 , : ) c12 ;4546 c l e a r aux1 ecg_o4748 %Onda t r i a n g u l a r da portadora :49 t r i a n g = 1+sawtooth (2 pi f c tempo , 0 . 5 ) ;50 sa ida = z e r o s (15 , l ength ( tempo ) ) ;5152 %Comparao com t r i a n g . para ge ra r PWM:53 f o r c o l =1: l ength ( ecg ( : , 1 ) )54 f o r i =1: l ength ( ecg ( 1 , : ) )55 i f t r i a n g ( i )

  • Captulo 6. Apendice 37

    71 auxcont = 1 ;72 dutycyc le_i = 0 ;73 dutycyc l e_ i i = 0 ;74 d u t y c y c l e _ i i i = 0 ;75 dutycycle_avr = 0 ;76 dutycyc le_avl = 0 ;77 dutycycle_avf = 0 ;78 dutycycle_v1 = 0 ;79 dutycycle_v2 = 0 ;80 dutycycle_v3 = 0 ;81 dutycycle_v4 = 0 ;82 dutycycle_v5 = 0 ;83 dutycycle_v6 = 0 ;84 dutycycle_vx = 0 ;85 dutycycle_vy = 0 ;86 dutycycle_vz = 0 ;8788 %Clculo de razo c c l i c a para as d e r i v a e s :89 f o r i =1: l ength ( ecg ( 1 , : ) )90 i f auxcont == 191 i f s a ida (1 , i ) == 192 contagem = contagem + 1 ;93 e l s e94 dutycyc le_i ( end+1) = contagem ;95 contagem = 0 ;96 auxcont = 0 ;97 end98 e l s e99 i f s a ida (1 , i ) == 0

    100 contagem = 1 ;101 e l s e102 contagem = contagem + 1 ;103 auxcont = 1 ;104 end105 end106 end107 f o r i =1: l ength ( ecg ( 1 , : ) )108 i f auxcont == 1109 i f s a ida (2 , i ) == 1110 contagem = contagem + 1 ;111 e l s e112 dutycyc l e_ i i ( end+1) = contagem ;113 contagem = 0 ;114 auxcont = 0 ;115 end116 e l s e117 i f s a ida (2 , i ) == 0118 contagem = 1 ;119 e l s e120 contagem = contagem + 1 ;121 auxcont = 1 ;122 end123 end124 end125 f o r i =1: l ength ( ecg ( 1 , : ) )126 i f auxcont == 1

  • Captulo 6. Apendice 38

    127 i f s a ida (3 , i ) == 1128 contagem = contagem + 1 ;129 e l s e130 d u t y c y c l e _ i i i ( end+1) = contagem ;131 contagem = 0 ;132 auxcont = 0 ;133 end134 e l s e135 i f s a ida (3 , i ) == 0136 contagem = 1 ;137 e l s e138 contagem = contagem + 1 ;139 auxcont = 1 ;140 end141 end142 end143144 f o r i =1: l ength ( ecg ( 1 , : ) )145 i f auxcont == 1146 i f s a ida (4 , i ) == 1147 contagem = contagem + 1 ;148 e l s e149 dutycycle_avr ( end+1) = contagem ;150 contagem = 0 ;151 auxcont = 0 ;152 end153 e l s e154 i f s a ida (4 , i ) == 0155 contagem = 1 ;156 e l s e157 contagem = contagem + 1 ;158 auxcont = 1 ;159 end160 end161 end162 f o r i =1: l ength ( ecg ( 1 , : ) )163 i f auxcont == 1164 i f s a ida (5 , i ) == 1165 contagem = contagem + 1 ;166 e l s e167 dutycyc le_avl ( end+1) = contagem ;168 contagem = 0 ;169 auxcont = 0 ;170 end171 e l s e172 i f s a ida (5 , i ) == 0173 contagem = 1 ;174 e l s e175 contagem = contagem + 1 ;176 auxcont = 1 ;177 end178 end179 end180 f o r i =1: l ength ( ecg ( 1 , : ) )181 i f auxcont == 1182 i f s a ida (6 , i ) == 1

  • Captulo 6. Apendice 39

    183 contagem = contagem + 1 ;184 e l s e185 dutycycle_avf ( end+1) = contagem ;186 contagem = 0 ;187 auxcont = 0 ;188 end189 e l s e190 i f s a ida (6 , i ) == 0191 contagem = 1 ;192 e l s e193 contagem = contagem + 1 ;194 auxcont = 1 ;195 end196 end197 end198 f o r i =1: l ength ( ecg ( 1 , : ) )199 i f auxcont == 1200 i f s a ida (7 , i ) == 1201 contagem = contagem + 1 ;202 e l s e203 dutycycle_v1 ( end+1) = contagem ;204 contagem = 0 ;205 auxcont = 0 ;206 end207 e l s e208 i f s a ida (7 , i ) == 0209 contagem = 1 ;210 e l s e211 contagem = contagem + 1 ;212 auxcont = 1 ;213 end214 end215 end216 f o r i =1: l ength ( ecg ( 1 , : ) )217 i f auxcont == 1218 i f s a ida (8 , i ) == 1219 contagem = contagem + 1 ;220 e l s e221 dutycycle_v2 ( end+1) = contagem ;222 contagem = 0 ;223 auxcont = 0 ;224 end225 e l s e226 i f s a ida (8 , i ) == 0227 contagem = 1 ;228 e l s e229 contagem = contagem + 1 ;230 auxcont = 1 ;231 end232 end233 end234 f o r i =1: l ength ( ecg ( 1 , : ) )235 i f auxcont == 1236 i f s a ida (9 , i ) == 1237 contagem = contagem + 1 ;238 e l s e

  • Captulo 6. Apendice 40

    239 dutycycle_v3 ( end+1) = contagem ;240 contagem = 0 ;241 auxcont = 0 ;242 end243 e l s e244 i f s a ida (9 , i ) == 0245 contagem = 1 ;246 e l s e247 contagem = contagem + 1 ;248 auxcont = 1 ;249 end250 end251 end252253 f o r i =1: l ength ( ecg ( 1 , : ) )254 i f auxcont == 1255 i f s a ida (10 , i ) == 1256 contagem = contagem + 1 ;257 e l s e258 dutycycle_v4 ( end+1) = contagem ;259 contagem = 0 ;260 auxcont = 0 ;261 end262 e l s e263 i f s a ida (10 , i ) == 0264 contagem = 1 ;265 e l s e266 contagem = contagem + 1 ;267 auxcont = 1 ;268 end269 end270 end271 f o r i =1: l ength ( ecg ( 1 , : ) )272 i f auxcont == 1273 i f s a ida (11 , i ) == 1274 contagem = contagem + 1 ;275 e l s e276 dutycycle_v5 ( end+1) = contagem ;277 contagem = 0 ;278 auxcont = 0 ;279 end280 e l s e281 i f s a ida (11 , i ) == 0282 contagem = 1 ;283 e l s e284 contagem = contagem + 1 ;285 auxcont = 1 ;286 end287 end288 end289 f o r i =1: l ength ( ecg ( 1 , : ) )290 i f auxcont == 1291 i f s a ida (12 , i ) == 1292 contagem = contagem + 1 ;293 e l s e294 dutycycle_v6 ( end+1) = contagem ;

  • Captulo 6. Apendice 41

    295 contagem = 0 ;296 auxcont = 0 ;297 end298 e l s e299 i f s a ida (12 , i ) == 0300 contagem = 1 ;301 e l s e302 contagem = contagem + 1 ;303 auxcont = 1 ;304 end305 end306 end307 f o r i =1: l ength ( ecg ( 1 , : ) )308 i f auxcont == 1309 i f s a ida (13 , i ) == 1310 contagem = contagem + 1 ;311 e l s e312 dutycycle_vx ( end+1) = contagem ;313 contagem = 0 ;314 auxcont = 0 ;315 end316 e l s e317 i f s a ida (13 , i ) == 0318 contagem = 1 ;319 e l s e320 contagem = contagem + 1 ;321 auxcont = 1 ;322 end323 end324 end325 f o r i =1: l ength ( ecg ( 1 , : ) )326 i f auxcont == 1327 i f s a ida (14 , i ) == 1328 contagem = contagem + 1 ;329 e l s e330 dutycycle_vy ( end+1) = contagem ;331 contagem = 0 ;332 auxcont = 0 ;333 end334 e l s e335 i f s a ida (14 , i ) == 0336 contagem = 1 ;337 e l s e338 contagem = contagem + 1 ;339 auxcont = 1 ;340 end341 end342 end343 f o r i =1: l ength ( ecg ( 1 , : ) )344 i f auxcont == 1345 i f s a ida (15 , i ) == 1346 contagem = contagem + 1 ;347 e l s e348 dutycycle_vz ( end+1) = contagem ;349 contagem = 0 ;350 auxcont = 0 ;

  • Captulo 6. Apendice 42

    351 end352 e l s e353 i f s a ida (15 , i ) == 0354 contagem = 1 ;355 e l s e356 contagem = contagem + 1 ;357 auxcont = 1 ;358 end359 end360 end361362 %Normalizao dos termos de baixa razo c c l i c a :363 dutycyc le_i = dutycyc le_i ( dutycyc le_i ~= 0 ) ;364 dutycyc l e_ i i = dutycyc l e_ i i ( dutycyc l e_ i i ~= 0 ) ;365 d u t y c y c l e _ i i i = d u t y c y c l e _ i i i ( d u t y c y c l e _ i i i ~= 0 ) ;366 dutycycle_avr = dutycycle_avr ( dutycycle_avr ~= 0 ) ;367 dutycyc le_avl = dutycyc le_avl ( dutycyc le_avl ~= 0 ) ;368 dutycycle_avf = dutycycle_avf ( dutycycle_avf ~= 0 ) ;369 dutycycle_v1 = dutycycle_v1 ( dutycycle_v1 ~= 0 ) ;370 dutycycle_v2 = dutycycle_v2 ( dutycycle_v2 ~= 0 ) ;371 dutycycle_v3 = dutycycle_v3 ( dutycycle_v3 ~= 0 ) ;372 dutycycle_v4 = dutycycle_v4 ( dutycycle_v4 ~= 0 ) ;373 dutycycle_v5 = dutycycle_v5 ( dutycycle_v5 ~= 0 ) ;374 dutycycle_v6 = dutycycle_v6 ( dutycycle_v6 ~= 0 ) ;375 dutycycle_vx = dutycycle_vx ( dutycycle_vx ~= 0 ) ;376 dutycycle_vy = dutycycle_vy ( dutycycle_vy ~= 0 ) ;377 dutycycle_vz = dutycycle_vz ( dutycycle_vz ~= 0 ) ;378379 %Concatenao de todas as d e r i v a e s em uma nica matr iz :380 dutyCycle = [ dutycyc le_i ; dutycyc l e_ i i ; d u t y c y c l e _ i i i ; dutycycle_avr ; dutycyc le_avl ;381 dutycycle_avf ; dutycycle_v1 ; dutycycle_v2 ; dutycycle_v3 ; dutycycle_v4 ; dutycycle_v5 ;382 dutycycle_v6 ; dutycycle_vx ; dutycycle_vy ; dutycycle_vz ] ;383 c l e a r dutycyc le_i dutycyc l e_ i i d u t y c y c l e _ i i i dutycycle_avr dutycyc le_avl384 dutycycle_avf dutycycle_v1 dutycycle_v2 dutycycle_v3 dutycycle_v4 dutycycle_v5385 dutycycle_v6 dutycycle_vx dutycycle_vy dutycycle_vz ;386387 %Prott ipo de f i l t r o passabaixas :388 %(R=10e3 ; C=82e 9);389 [B,A] = butte r (4 , Ts f r e q F i l t r o ) ;390 Y = z e r o s (15 , l ength ( ecg ( 1 , : ) ) ) ;391392 %Normalizao dos s i n a i s f i l t r a d o s :393 f o r i =1:15394 Y( i , : ) = (1/2)+(3/2) f i l t e r (B,A, sa ida ( i , : ) ) ;395 end396397 %Exportao das raze s c c l i c a s :398 DC = int16 ( dutyCycle ) ;399 dlmwrite ( DutyCycleMatrix . txt ,DC, newline , pc )400401 %"Plot " dos s i n a i s :402 f i g u r e (1 )403 subplot (311)404 p lo t ( tempo , ecg ( 4 , : ) )405 g r id ;406 t i t l e ( Derivao avR o r i g i n a l )

  • Captulo 6. Apendice 43

    407408 subplot (312)409 p lo t ( tempo , ecg ( 5 , : ) )410 g r id ;411 t i t l e ( Derivao avL o r i g i n a l )412413 subplot (313)414 p lo t ( tempo , ecg ( 6 , : ) )415 g r id ;416 t i t l e ( Derivao avF o r i g i n a l )417418 f i g u r e (2 )419 subplot (611)420 p lo t ( tempo , ecg ( 7 , : ) )421 g r id ;422 t i t l e ( Derivao v1 o r i g i n a l )423424 subplot (612)425 p lo t ( tempo , ecg ( 8 , : ) )426 g r id ;427 t i t l e ( Derivao v2 o r i g i n a l )428429 subplot (613)430 p lo t ( tempo , ecg ( 9 , : ) )431 g r id ;432 t i t l e ( Derivao v3 o r i g i n a l )433434 subplot (614)435 p lo t ( tempo , ecg ( 1 0 , : ) )436 g r id ;437 t i t l e ( Derivao v4 o r i g i n a l )438439 subplot (615)440 p lo t ( tempo , ecg ( 1 1 , : ) )441 g r id ;442 t i t l e ( Derivao v5 o r i g i n a l )443444 subplot (616)445 p lo t ( tempo , ecg ( 1 2 , : ) )446 g r id ;447 t i t l e ( Derivao v6 o r i g i n a l )

    6.3 Cdigo em linguagem C utilizado no ArduinoTM

    1 //SIMULADOR DE ECG VERSO 0.92 unsigned i n t index = 0 ;34 // Der ivaes u n i p o l a r e s5 byte avR [ 5 8 6 ] = {112 ,112 ,112 ,112 ,112 ,112 ,112 ,114 ,114 ,112 ,114 ,112 ,112 ,112 ,114 ,113 ,6 114 ,114 ,113 ,112 ,112 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,116 ,114 ,115 ,116 ,7 115 ,116 ,116 ,115 ,114 ,116 ,116 ,114 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,8 116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,117 ,118 ,118 ,118 ,116 ,117 ,9 118 ,118 ,117 ,116 ,116 ,117 ,118 ,118 ,117 ,116 ,117 ,117 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,

    10 116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,114 ,116 ,114 ,

  • Captulo 6. Apendice 44

    11 116 ,115 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,114 ,115 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,12 116 ,115 ,116 ,116 ,116 ,115 ,116 ,116 ,116 ,116 ,115 ,114 ,114 ,115 ,116 ,117 ,116 ,116 ,116 ,118 ,13 116 ,116 ,118 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,115 ,116 ,117 ,116 ,116 ,14 117 ,116 ,116 ,116 ,116 ,116 ,117 ,116 ,116 ,115 ,116 ,116 ,115 ,114 ,114 ,114 ,114 ,112 ,110 ,110 ,15 110 ,109 ,108 ,108 ,108 ,108 ,108 ,108 ,110 ,109 ,107 ,106 ,105 ,104 ,105 ,103 ,102 ,102 ,102 ,101 ,16 100 ,102 ,99 ,100 ,100 ,100 ,98 ,99 ,100 ,99 ,98 ,98 ,100 ,100 ,101 ,103 ,104 ,107 ,108 ,110 ,112 ,17 112 ,113 ,115 ,116 ,116 ,117 ,118 ,117 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,120 ,18 120 ,120 ,120 ,119 ,120 ,120 ,120 ,120 ,119 ,120 ,120 ,118 ,118 ,120 ,120 ,119 ,118 ,120 ,120 ,118 ,19 118 ,118 ,119 ,121 ,123 ,124 ,121 ,119 ,113 ,105 ,96 ,85 ,69 ,57 ,43 ,25 ,10 ,4 ,6 ,22 ,42 ,63 ,73 ,79 ,20 90 ,100 ,110 ,122 ,127 ,128 ,128 ,127 ,128 ,128 ,125 ,123 ,122 ,120 ,120 ,119 ,118 ,118 ,118 ,118 ,21 118 ,117 ,118 ,118 ,118 ,118 ,118 ,118 ,116 ,117 ,116 ,118 ,118 ,118 ,120 ,118 ,118 ,119 ,118 ,117 ,22 118 ,118 ,116 ,117 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,118 ,117 ,116 ,116 ,117 ,23 118 ,119 ,119 ,118 ,118 ,117 ,117 ,118 ,118 ,118 ,117 ,116 ,116 ,117 ,118 ,118 ,118 ,116 ,116 ,116 ,24 116 ,116 ,116 ,116 ,116 ,117 ,116 ,114 ,114 ,114 ,116 ,115 ,114 ,114 ,114 ,114 ,114 ,113 ,112 ,112 ,25 112 ,112 ,111 ,110 ,110 ,111 ,110 ,110 ,110 ,109 ,108 ,107 ,105 ,106 ,104 ,104 ,104 ,104 ,102 ,102 ,26 100 ,99 ,97 ,98 ,96 ,96 ,95 ,93 ,91 ,89 ,88 ,87 ,86 ,86 ,84 ,83 ,82 ,80 ,79 ,78 ,77 ,76 ,74 ,72 ,72 ,72 ,27 70 ,70 ,70 ,68 ,67 ,68 ,68 ,68 ,69 ,70 ,70 ,70 ,70 ,72 ,72 ,74 ,77 ,78 ,78 ,82 ,82 ,84 ,87 ,89 ,91 ,93 ,28 94 ,97 ,98 ,99 ,100 ,102 ,104 ,104 ,106 ,107 ,107 ,108 ,108 ,110 ,110 ,112 ,112 ,111 ,114 ,113 ,114 ,29 114 ,112 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,115 ,116 ,116 ,30 116 ,116 ,117 ,116 ,116 ,116 ,116 ,115 ,115 ,114 ,116 ,116 ,115 ,115 ,116 ,116 ,116 ,116 ,116 ,115 ,31 114 ,116 ,115 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,116 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,113 ,32 113 ,114 ,115 ,114 ,112 ,112 ,112 ,113 ,114 ,115 ,114 ,112 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,114 ,33 115 ,114 ,115 ,115 ,114 ,115 ,115 ,114 ,115 ,114 ,114 ,114} ;3435 byte avL [ 5 8 6 ] = {79 ,68 ,69 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,68 ,68 ,68 ,68 ,70 ,70 ,70 ,70 ,36 70 ,70 ,70 ,70 ,68 ,70 ,70 ,68 ,70 ,70 ,69 ,68 ,68 ,69 ,68 ,68 ,68 ,68 ,70 ,70 ,70 ,70 ,69 ,68 ,68 ,68 ,68 ,37 70 ,70 ,68 ,68 ,69 ,68 ,70 ,70 ,70 ,70 ,68 ,70 ,68 ,68 ,68 ,70 ,70 ,68 ,70 ,68 ,70 ,68 ,68 ,68 ,68 ,68 ,68 ,38 68 ,68 ,68 ,68 ,70 ,70 ,68 ,68 ,68 ,68 ,70 ,68 ,68 ,68 ,69 ,68 ,68 ,68 ,70 ,68 ,69 ,68 ,68 ,68 ,68 ,68 ,68 ,39 70 ,68 ,68 ,68 ,69 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,70 ,68 ,68 ,68 ,68 ,68 ,70 ,70 ,68 ,68 ,40 70 ,70 ,70 ,69 ,68 ,68 ,68 ,68 ,69 ,68 ,68 ,68 ,68 ,70 ,68 ,68 ,69 ,70 ,70 ,70 ,70 ,69 ,68 ,70 ,68 ,70 ,68 ,41 68 ,70 ,68 ,68 ,70 ,70 ,70 ,68 ,70 ,70 ,70 ,70 ,70 ,68 ,68 ,70 ,68 ,68 ,68 ,68 ,68 ,68 ,70 ,69 ,70 ,70 ,68 ,42 70 ,70 ,70 ,70 ,69 ,70 ,70 ,69 ,68 ,66 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,68 ,70 ,70 ,70 ,70 ,43 70 ,71 ,71 ,72 ,72 ,71 ,72 ,70 ,72 ,72 ,72 ,72 ,72 ,72 ,73 ,74 ,74 ,76 ,76 ,76 ,76 ,74 ,74 ,74 ,72 ,70 ,70 ,44 70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,68 ,70 ,68 ,70 ,68 ,70 ,70 ,45 70 ,70 ,70 ,70 ,70 ,70 ,70 ,68 ,70 ,70 ,70 ,68 ,68 ,65 ,62 ,58 ,57 ,56 ,56 ,59 ,65 ,71 ,82 ,94 ,105 ,116 ,46 123 ,126 ,128 ,128 ,124 ,121 ,122 ,122 ,121 ,114 ,107 ,98 ,86 ,81 ,72 ,72 ,73 ,72 ,74 ,74 ,74 ,74 ,74 ,47 74 ,74 ,74 ,74 ,74 ,72 ,72 ,70 ,71 ,71 ,70 ,70 ,70 ,70 ,70 ,70 ,72 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,72 ,48 72 ,70 ,70 ,70 ,71 ,71 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,71 ,72 ,72 ,70 ,70 ,70 ,70 ,70 ,72 ,49 72 ,72 ,72 ,72 ,72 ,72 ,72 ,73 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,73 ,72 ,74 ,74 ,74 ,74 ,74 ,74 ,74 ,50 74 ,74 ,74 ,74 ,75 ,74 ,74 ,74 ,76 ,76 ,76 ,76 ,76 ,76 ,76 ,76 ,76 ,76 ,76 ,78 ,78 ,78 ,80 ,78 ,78 ,78 ,80 ,51 79 ,80 ,80 ,82 ,82 ,82 ,82 ,82 ,82 ,83 ,84 ,84 ,84 ,84 ,86 ,86 ,88 ,88 ,86 ,88 ,88 ,88 ,88 ,90 ,90 ,90 ,90 ,52 90 ,90 ,91 ,92 ,92 ,92 ,92 ,90 ,91 ,92 ,90 ,91 ,90 ,90 ,88 ,88 ,88 ,87 ,85 ,86 ,84 ,82 ,82 ,81 ,80 ,80 ,79 ,53 78 ,78 ,76 ,76 ,75 ,76 ,74 ,74 ,74 ,74 ,74 ,72 ,74 ,73 ,72 ,74 ,72 ,72 ,72 ,72 ,73 ,72 ,72 ,72 ,72 ,72 ,72 ,54 72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,55 72 ,72 ,72 ,72 ,74 ,74 ,72 ,74 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,74 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,73 ,73 ,72 ,56 72 ,72 ,74 ,73 ,74 ,73 ,72 ,72 ,72 ,74 ,72 ,72 ,72 ,72 ,72 ,72 ,74 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,57 72 ,72 ,72} ;5859 byte avF [ 5 8 6 ] = {39 ,48 ,47 ,46 ,48 ,48 ,48 ,44 ,45 ,44 ,44 ,46 ,46 ,48 ,48 ,48 ,48 ,46 ,46 ,46 ,44 ,60 46 ,44 ,44 ,46 ,46 ,46 ,44 ,44 ,44 ,44 ,44 ,44 ,44 ,44 ,44 ,44 ,44 ,42 ,42 ,42 ,42 ,42 ,44 ,44 ,43 ,42 ,42 ,61 42 ,42 ,42 ,42 ,40 ,41 ,40 ,40 ,40 ,40 ,40 ,40 ,42 ,42 ,44 ,42 ,40 ,40 ,42 ,41 ,42 ,42 ,40 ,40 ,42 ,42 ,40 ,62 42 ,40 ,40 ,40 ,40 ,40 ,40 ,40 ,41 ,40 ,40 ,40 ,40 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,44 ,63 42 ,42 ,42 ,44 ,42 ,42 ,42 ,42 ,44 ,42 ,44 ,46 ,44 ,45 ,44 ,44 ,44 ,42 ,44 ,44 ,44 ,42 ,42 ,42 ,42 ,42 ,42 ,64 40 ,40 ,42 ,42 ,44 ,42 ,44 ,44 ,44 ,44 ,44 ,44 ,45 ,42 ,42 ,44 ,44 ,42 ,42 ,40 ,40 ,42 ,42 ,40 ,42 ,40 ,40 ,65 40 ,40 ,40 ,42 ,42 ,40 ,41 ,42 ,40 ,39 ,39 ,40 ,40 ,42 ,44 ,44 ,42 ,40 ,42 ,41 ,40 ,42 ,42 ,42 ,42 ,40 ,42 ,66 42 ,41 ,40 ,40 ,42 ,42 ,42 ,54 ,56 ,60 ,60 ,63 ,66 ,66 ,66 ,66 ,66 ,67 ,66 ,66 ,66 ,66 ,66 ,66 ,68 ,68 ,70 ,

  • Captulo 6. Apendice 45

    67 68 ,68 ,70 ,70 ,70 ,72 ,72 ,72 ,72 ,72 ,71 ,74 ,76 ,74 ,70 ,70 ,67 ,63 ,62 ,63 ,62 ,62 ,57 ,56 ,56 ,56 ,56 ,68 54 ,53 ,50 ,48 ,48 ,47 ,46 ,46 ,46 ,44 ,44 ,44 ,44 ,44 ,44 ,42 ,44 ,42 ,40 ,40 ,42 ,42 ,42 ,42 ,42 ,40 ,40 ,69 40 ,40 ,40 ,42 ,44 ,42 ,42 ,42 ,42 ,44 ,42 ,44 ,47 ,55 ,65 ,71 ,70 ,69 ,68 ,64 ,55 ,49 ,35 ,19 ,13 ,14 ,20 ,70 40 ,70 ,99 ,120 ,125 ,91 ,53 ,14 ,12 ,18 ,26 ,35 ,30 ,29 ,18 ,14 ,16 ,16 ,14 ,14 ,19 ,22 ,22 ,24 ,26 ,30 ,71 32 ,36 ,39 ,40 ,40 ,40 ,40 ,40 ,42 ,44 ,42 ,42 ,42 ,44 ,44 ,44 ,42 ,42 ,42 ,40 ,40 ,39 ,40 ,42 ,42 ,42 ,42 ,72 42 ,42 ,42 ,42 ,44 ,44 ,42 ,40 ,42 ,42 ,42 ,44 ,42 ,45 ,44 ,42 ,42 ,40 ,40 ,40 ,42 ,42 ,42 ,40 ,40 ,40 ,40 ,73 38 ,38 ,38 ,36 ,38 ,38 ,38 ,40 ,42 ,40 ,38 ,39 ,38 ,38 ,38 ,38 ,38 ,38 ,40 ,38 ,38 ,40 ,40 ,38 ,38 ,40 ,38 ,74 40 ,42 ,42 ,42 ,40 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,44 ,44 ,46 ,48 ,46 ,48 ,46 ,46 ,47 ,50 ,51 ,52 ,54 ,55 ,52 ,75 54 ,56 ,56 ,58 ,62 ,64 ,66 ,66 ,66 ,67 ,68 ,66 ,66 ,69 ,75 ,74 ,75 ,76 ,77 ,78 ,79 ,80 ,80 ,82 ,82 ,84 ,82 ,76 82 ,82 ,83 ,82 ,82 ,80 ,80 ,78 ,78 ,78 ,76 ,76 ,74 ,74 ,73 ,72 ,70 ,68 ,67 ,66 ,63 ,62 ,60 ,60 ,59 ,58 ,56 ,77 56 ,56 ,55 ,52 ,54 ,52 ,52 ,50 ,48 ,46 ,48 ,47 ,45 ,46 ,45 ,44 ,46 ,44 ,44 ,44 ,44 ,45 ,43 ,44 ,43 ,43 ,44 ,78 42 ,42 ,42 ,42 ,41 ,40 ,40 ,42 ,42 ,40 ,40 ,41 ,42 ,42 ,42 ,42 ,44 ,44 ,42 ,44 ,41 ,42 ,42 ,42 ,42 ,42 ,40 ,79 40 ,40 ,40 ,40 ,42 ,42 ,40 ,40 ,40 ,40 ,40 ,40 ,40 ,42 ,44 ,45 ,44 ,42 ,42 ,44 ,44 ,44 ,44 ,42 ,44 ,44 ,44 ,80 44 ,45 ,43 ,42 ,43 ,44 ,44 ,44 ,42 ,44 ,45 ,44 ,42 ,43 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,42 ,44 ,44 ,46} ;8182 // Der ivaes b i p o l a r e s83 // I = avL avR84 // I I = avF avR85 // I I I = avF avL8687 void setPwmFrequency ( i n t pin , i n t d i v i s o r ) {88 /89 Divides a g iven PWM pin frequency by a d i v i s o r .90 91 The r e s u l t i n g f requency i s equal to the base f requency d iv ided by92 the g iven d i v i s o r :93 Base f r e q u e n c i e s :94 o The base f requency f o r p ins 3 , 9 , 10 , and 11 i s 31250 Hz .95 o The base f requency f o r p ins 5 and 6 i s 62500 Hz .96 D i v i s o r s :97 o The d i v i s o r s a v a i l a b l e on p ins 5 , 6 , 9 and 10 are : 1 , 8 , 64 ,98 256 , and 1024 .99 o The d i v i s o r s a v a i l a b l e on p ins 3 and 11 are : 1 , 8 , 32 , 64 ,

    100 128 , 256 , and 1024 .101 /102 byte mode ;103 i f ( pin == 5 | | pin == 6 | | pin == 9 | | pin == 10) {104 switch ( d i v i s o r ) {105 case 1 : mode = 0x01 ; break ;106 case 8 : mode = 0x02 ; break ;107 case 64 : mode = 0x03 ; break ;108 case 256 : mode = 0x04 ; break ;109 case 1024 : mode = 0x05 ; break ;110 d e f a u l t : r e turn ;111 }112 i f ( pin == 5 | | pin == 6) {113 TCCR0B = TCCR0B & 0b11111000 | mode ;114 } e l s e {115 TCCR1B = TCCR1B & 0b11111000 | mode ;116 }117 } e l s e i f ( pin == 3 | | pin == 11) {118 switch ( d i v i s o r ) {119 case 1 : mode = 0x01 ; break ;120 case 8 : mode = 0x02 ; break ;121 case 32 : mode = 0x03 ; break ;122 case 64 : mode = 0x04 ; break ;

  • Captulo 6. Apendice 46

    123 case 128 : mode = 0x05 ; break ;124 case 256 : mode = 0x06 ; break ;125 case 1024 : mode = 0x7 ; break ;126 d e f a u l t : r e turn ;127 }128 TCCR2B = TCCR2B & 0b11111000 | mode ;129 }130 }131132 void setup ( )133 {134 pinMode (11 , OUTPUT) ; // t imer2 ;135 pinMode (10 , OUTPUT) ; // t imer1 ;136 pinMode (9 , OUTPUT) ; // t imer1 ;137 //pinMode (8 , OUTPUT) ;138 //pinMode (7 , OUTPUT) ;139 pinMode (6 , OUTPUT) ; // t imer0 ;140 pinMode (5 , OUTPUT) ; // t imer0 ;141 //pinMode (4 , OUTPUT) ;142 pinMode (3 , OUTPUT) ; // t imer2 ;143144 setPwmFrequency ( 1 1 , 6 4 ) ;145 setPwmFrequency ( 1 0 , 6 4 ) ;146 setPwmFrequency ( 9 , 6 4 ) ;147148 }149150 void loop ( )151 {152 f o r ( index =0; index

  • 47

    7 Anexo

    7.1 Grfico do sinal de ECG original utilizado

    Figura 47 Sinal de ECG obtido da paciente mencionada na seo 3.2.

    Fonte: Pgina do PTB1.

    1 DATABASE:PTB Diagnostic ECG Database(ptbdb), Record: patient267/s0504_re

    http://www.physionet.org/cgi-bin/atm/ATM

    Folha de rostoAgradecimentosResumoAbstractLista de ilustraesLista de Siglas e AbreviaturasLista de Smbolos e NotaesSumrioIntroduoHistrico do ECGObjetivos do trabalhoJustificativa do trabalhoMateriais e mtodosEstrutura do trabalho

    Fundamentaao TericaIntroduo ao EletrocardiogramaPWM - Modulao por Largura de PulsoConverso Analgica Digital por PWMFiltro Passa-BaixasConverso Digital Analgica do sinal PWM atravs de FPBInterpolaoArduinoTM

    MetodologiaMateriais, equipamentos e softwares utilizadosAmostragem do sinalConfigurao dos timersGerao e filtragem do sinal PWMCircuito utilizado

    ResultadosTestes iniciaisDerivaes bipolares simuladas I, II, III.

    Testes com mdulo de obteno de eletrocardiograma

    Discusso FinalRefernciasApendiceTermos da srie de Fourier de sinal PWMTermo a0Termo anTermo bn

    Cdigo MATLABTM para obter razes cclicasCdigo em linguagem C utilizado no ArduinoTM

    AnexoGrfico do sinal de ECG original utilizado