Вы находитесь на странице: 1из 23

Aquisição e Processamento Digital de Eletrocardiograma

D. Yelshyna, E. Costa

Resumo— A aquisição e processamento de biossinais em


tempo real tem-se apresentado um desafio constante,
conduzindo ao desenvolvimento e inovação neste tipo de
aplicações. O eletrocardiograma (ECG) é um dos objetivos de
estudo mais comuns na análise de sinais biomédicos e bastante
explorado, sendo conhecidas as suas principais propriedades e
características. O presente trabalho visa analisar as dificuldades
encontradas na aquisição de ECG e propor um sistema
adequado para o seu processamento em tempo real, transmissão
para outros dispositivos, visualização e ainda a determinação do
ritmo cardíaco. O sistema implementado é constituído pela
componente de aquisição analógica e amplificação, amostragem
e processamento digital em microcontrolador e comunicação
série com um computador, onde o sinal é reconstruído por uma
interface gráfica desenvolvida para o efeito. Os resultados
revelam que a aquisição do sinal e sua transmissão foram bem- Figura 1. Ondas e segmentos típicos de uma sinal ECG
sucedidas, observando-se, no entanto, algumas limitações em
termos de presença de ruído e elevado custo computacional. O sinal cardíaco é composto por diversas deflexões
positivas e negativas, assinaladas pelas letras P, Q, R, S e T.
I. INTRODUÇÃO
Estas letras servem de referência para definir intervalos
Eletrocardiograma (ECG) é um exame não-invasivo que temporais (segmentos) e conjuntos de ondas (complexos). O
grava a atividade elétrica gerada pelo coração com elétrodos surgimento da onda P no início do ciclo cardíaco deve-se à
aplicados à superfície do corpo. O sinal ECG permite despolarização das aurículas. O segmento PR corresponde ao
realizar a medição direta do batimento, ritmo e vetores atraso na propagação do estímulo elétrico gerado pelo
elétricos do coração, possibilitando a deteção de anomalias nódulo auriculoventricular, sendo o complexo QRS referente
associadas à sua atividade. Além disso, obtém-se informação à depolarização dos ventrículos. O segmento seguinte ST
fundamental acerca da origem e propagação do potencial de caracteriza a excitação total dos ventrículos, enquanto a onda
ação pelo coração. Como diferentes zonas são ativadas T reflete a repolarização dos ventrículos. A repolarização
sequencialmente, é possível associá-las a variações das aurículas possui uma amplitude muito baixa e ocorre
temporais do potencial elétrico registado [1]. simultaneamente com o complexo QRS fazendo com que
O coração é composto por quatro cavidades: duas seja mascarada pelo mesmo, não sendo visível no ECG. Os
aurículas e dois ventrículos. Existe um grupo de células intervalos PR e QT representam, respetivamente, a atividade
situado no topo da aurícula direita que funcionam como elétrica das aurículas e dos ventrículos [3].
pacemaker primário do coração (nódulo sinoauricular). A
A. Aquisição de ECG
alteração do gradiente de concentração iónica ao longo das
membranas celulares resulta no estabelecimento de um A gravação do ECG implica medição da diferença de
potencial extracelular, que excita as células contráteis das potencial entre dois pontos do corpo. Existem vários
aurículas e dos ventrículos, resultando na propagação do sistemas para medição de ECG, sendo um deles o
impulso elétrico. Graças a propriedades puramente resistivas desenvolvido por Einthoven e implementado no presente
do corpo, estes potenciais são capazes de atravessar o meio e trabalho. Na sua proposta, a gravação é realizada com três
atingir a superfície do corpo, tornando possível o seu registo derivações bipolares I, II e III, que formam os lados de um
e medição através de equipamento próprio triângulo equilátero (Triângulo de Eithoven). As respetivas
(eletrocardiógrafo) [2]. Cada conjunto de células contráteis diferenças de potencial são definidas por:
possui potenciais de ação característicos da sua atividade,
cujas contribuições podem ser somadas, dando origem ao
resultante sinal ECG (Figura 1).
onde RA refere-se ao braço direito, LA ao braço esquerdo e
LL à perna esquerda. Na prática, é habitual utilizar-se mais
um elétrodo ligado à perna direita, para ligar o paciente à
massa comum da instrumentação. Estes vetores não são
independentes e satisfazem a seguinte relação:
O registo do sinal ECG necessita de um transdutor capaz II. PROPRIEDADES DO SINAL
de converter potenciais iónicos gerados no interior do corpo
O conhecimento das propriedades de diversas
em potenciais elétricos, que podem ser medidos por
componentes do ruído é essencial para desenvolver um pré-
instrumentação eletrónica convencional. Estes transdutores
processamento adequado do sinal. A definição das bandas de
consistem em elétrodos, cuja aplicação por vezes envolve
filtragem deve ser baseada nas propriedades espetrais do
um gel eletrólito para ajustar as impedâncias entre o elétrodo
sinal de interesse. Tipicamente, recomenda-se uma banda de
(baixa impedância) e a pele (elevada impedância). Os
passagem do sinal ECG ente 0.05 e 150 Hz, que contém toda
elétrodos podem ser caracterizados como polarizáveis,
as componentes essenciais à sua caracterização. Dado que a
quando se comportam como condensadores e não existe
frequência inferior de corte é muito baixa, a filtragem
transporte de cargas quando é aplicada uma corrente, ou não-
analógica pode não ser suficiente para resolver o problema
polarizáveis, quando têm um comportamento puramente
dos artefactos de movimento, servindo principalmente para
resistivo. Os elétrodos comuns possuem características que
atenuar a componente contínua. Dado que os filtros
se acomodam entre os dois extremos, sendo os mais
implementados são de baixa ordem, filtragem passa-alto
apropriados para aquisição de ECG os que mais se
digital acaba por ser necessária para completar o pré-
aproximam de elétrodos não-polarizáveis [4], [3]. É
processamento do sinal, permitindo a implementação de
essencial que o dispositivo não se comporte como uma fonte
filtros de mais elevada ordem. A filtragem notch para
de corrente, cuja injeção pode estimular o coração e causar
eliminar a interferência da rede elétrica, pelo mesmo motivo,
fibrilação [2].
deverá ser implementada em ambos os casos.
B. Interferências em ECG Tendo em conta que se definiu uma taxa de amostragem
A principal função do aparelho de aquisição de biossinais de sinal de 600 Hz, deve-se ter o cuidado de respeitar
é promover amplificação do sinal proveniente dos elétrodos determinadas condições para que o processo de digitalização
sem provocar a sua distorção. No entanto, o ruído está não provoque distorção do sinal e perda de informação.
presente em qualquer sistema eletrónico e torna-se crítico na Segundo o Teorema de Nyquist, a frequência de amostragem
aquisição de sinais de baixa amplitude, podendo ainda afetar ( ) deve ser pelo menos o dobro frequência do sinal ( ):
o desempenho de algoritmos no processamento digital. Deste
modo torna-se imperativo aplicar uma filtragem apropriada significando neste caso que a frequência de amostragem é
para remover o ruído sem degradar o sinal de interesse. determinada pela componente de frequência máxima do
Os artefactos que contaminam os biossinais podem ser de sinal. Analisando o espetro do sinal ECG (Figura 2),
diferente natureza: fisiológica, introduzidos pela juntamente com a contribuição de todas as interferências,
instrumentação utilizada ou pelo ambiente em que esta e o verifica-se que este estende-se por toda a largura da banda de
paciente se encontram inseridos. A interferência fisiológica frequências. Se a amostragem fosse efetuada sobre este sinal,
pode dever-se à contaminação do sinal ECG com EMG ocorreria aliasing, fazendo com que as componentes de
associado à contração muscular. Normalmente o problema elevada frequência (acima da frequência de amostragem)
pode ser evitado mantendo uma posição estática durante a fossem mascaradas por componentes de baixa frequência,
aquisição, não sendo isto no entanto possível em pacientes distorcendo o sinal. Portanto, é necessário garantir que o
com movimentos e espasmos incontroláveis. Uma das sinal não apresente componentes de frequências superiores a
principais fontes de contaminação do sinal é causada pela . Como os filtros analógicos encontram-se
rede elétrica que alimenta o sistema. Apesar de uma parte longe de serem ideias, é necessário estabelecer um limite
deste ruído ser removida pela aquisição diferencial, a baixo da frequência superior de corte para garantir que as
rejeição de tensões de modo comum por parte de componentes do sinal são preservadas. Considerou-se que a
amplificadores nem sempre é perfeita, levando à necessidade utilização de um filtro passa-baixo em 100 Hz seria
de aplicação de filtragens para remover a componente de 50 suficiente para resolver este problema.
Hz. Os próprios amplificadores induzem ruído térmico, cujo
efeito é sentido em sistemas que requerem amplificação com
ganhos muito elevados, surgindo uma componente de
elevada frequência. O anel formado pelos cabos que ligam os
elétrodos à instrumentação introduz interferência
eletromagnética, que depende da sua área e orientação. Uma
forma simples de minimizar este problema consiste no
entrelaçamento dos cabos ao longo do seu comprimento, Figura 2. Estpetro de um ECG contaminado com diversos tipos de ruído
reduzindo a área de indução magnética. Por fim, os
O processamento digital implica novamente a etapa de
artefactos de movimento são caracterizados por componentes
filtragem passa-baixo por vários motivos. Em primeiro lugar,
de baixa frequência e devem-se ao movimento relativo que
os filtros analógicos não são eficientes na remoção total do
pode ocorrer entre a superfície da pele e o elétrodo e ao
ruído. Em segundo lugar, é pretendido realizar um
movimento de respiração [5], [3].
processamento do sinal ECG de modo a determinar a
frequência do ritmo cardíaco. O algoritmo implementado
Figura 3. Diagrama de Blocos do sistema

implica que o processamento seja realizado sobre um sinal De forma a obter uma relação sinal-ruído (SNR) do
de 200 Hz, levando à necessidade de decimar o sinal. Para sistema elevada o primeiro bloco deve ter um ganho elevado.
evitar aliasing do sinal nesta situação, deve-se aplicar Assim sendo projetando o amplificador de instrumentação
novamente o Teorema de Nyquist, para determinar a para um ganho de 100 tem-se:
frequência da componente máxima do sinal ( ).
Deve ser implementado um filtro passa-baixo digital com Tendo em conta as resistências disponíveis e por uma
frequência de corte inferior à apresentada por causa da sua questão de conveniência para a implementação do circuito
resposta não ideal. driven right leg colocaram-se duas resistências de 220kΩ em
III. ARQUITETURA DO SISTEMA série, o que corresponde a um ganho de

O sistema de aquisição de ECG implementado é


constituído por uma componente analógica de amplificação e O circuito é alimentado a V- = -5V e V+ = 5V e a tensão
filtragem do sinal medido através dos elétrodos, e por uma de referência é a massa.
componente digital de amostragem, conversão,
processamento do sinal e envio para o computador. Uma A.2. Filtro Ativo Passa-alto de 2ª ordem
representação esquemática do sistema pode ser consultada na A ordem de um filtro está relacionada com a variação da
Figura 3. atenuação que o sinal sofre na zona de funcionamento de
corte. Quanto maior a ordem, maior é essa variação,
obtendo-se sistemas mais próximos da idealidade. No caso
A. Componente Analógica dos filtros de 2ª ordem, quando à frequência de corte a
atenuação é o dobro dos de 1ª ordem: - 6dB.
A componente analógica do sistema tem como
Uma forma de implementar um filtro de 2ª ordem sem
principais funções a amplificação e o pré-processamento do
recorrer a configurações complexas é colocar dois filtros de
sinal de ECG para que satisfaça alguns requisitos necessários
1ª ordem em cascata. A configuração básica do passa-alto
para poder ser aplicado à entrada do conversor analógico-
ativo de 1ª ordem é a representada na Figura 10 do
digital do microcontrolador.
Apêndice.
À exceção do bloco amplificador de instrumentação, em
Para projetar este circuito deve ter-se em conta um fator
todos os blocos se recorreu aos amplificadores operacionais
importante nos circuitos de ordem superior a 1, o fator de
do integrado LM324N.
qualidade Q, que determina o quão seletivo será o filtro.
A.1. Amplificador de Instrumentação Quanto mais baixo é Q, mais seletivo é o filtro (menor
largura de banda). Nesta aplicação não se pretende um Q
O amplificador de instrumentação é um amplificador
muito baixo, mas também não poderá ser muito elevado para
diferencial desenhado para possuir características especiais
não introduzir instabilidade na resposta em frequência.
úteis na aquisição de biossinais. Devido às baixas amplitudes
Atendendo a que o fator de qualidade é dado por
características destes sinais, um dos requisitos mais
importantes para estas aplicações é uma elevada resistência
nas entradas, para que a tensão não seja muito influenciada ,
pelo efeito de divisor de tensão entre a impedância da fonte e se os dois filtros de 1ª ordem forem iguais, ou seja R1 = R2 e
a de entrada do sistema. Esse requisito é garantido pelos C1 = C2, Q = 0,5 [6].
buffers de entrada. Assim sendo, opta-se por projetar os andares com
Para implementar este bloco recorreu-se ao circuito
integrado INA121, cujo esquemático e diagrama de pinos componentes diferentes de forma a aumentar um pouco o Q.
pode ser consultado na Figura 9 do Apêncice. Quando a ordem é superior a 1, a frequência de corte do
O ganho é controlado através da resistência RG, colocada filtro é um pouco diferente da frequência projetada para os
entre os pinos 1 e 8, e é dado por
blocos que o constituem. Esta variação pode ser expressada
por: , ou seja, . As
proporções RC de ambos os blocos devem obedecer a este
valor ou próximo. Com os componentes disponíveis e
, em que fcp é a frequência de corte de
fazendo alguns ajustes a partir dos resultados de simulação,
projeto, é a frequência de corte real e n é a ordem do obtém-se a configuração representada na Figura 14 do
sistema [7]. Apêndice. Para o primeiro bloco

Pretende-se uma frequência de corte de cerca de 150mHz,


pelo que e .
Para o segundo bloco

A frequência de corte para o bloco da Figura 10 é dada e


Através de simulação na ferramenta Multisim obtém-se
por , ou seja, . As
uma frequência de corte (aos -3dB) de aproximadamente
proporções RC de ambos os blocos devem obedecer a este
94,83 Hz para o primeiro andar e 101,07 Hz para o segundo.
valor ou próximo. Com os componentes disponíveis e
A resposta em frequência do filtro pode ser consultada na
fazendo alguns ajustes a partir dos resultados de simulação,
Figura 15 do Apêndice. A frequência de corte medida, para
obtém-se a configuração representada na Figura 11 do
uma atenuação de 6dB é de 97,178 Hz, o que se aproxima do
Apêndice. Para o primeiro bloco
desejado.
A resposta real do filtro encontra-se na Figura 15 do
e . Apêndice. Verifica-se que o filtro se comporta
Para o segundo bloco aproximadamente como o previsto teoricamente.
A.4. Filtros Notch Ativos
e Os filtros rejeita-banda implementados tinham o requisito
Através de simulação na ferramenta Multisim obtém-se de ser extremamente seletivos, de forma a não atenuar
uma frequência de corte (aos -3dB) de aproximadamente bandas de interesse. A configuração adotada, Twin-T ativo
154,64 mHz para o primeiro andar e 162,18 mHz para o (Figura 16 do Apêndice) permite que a banda rejeitada seja
segundo. muito estreita com a vantagem de a montagem ser de baixa
A resposta em frequência do filtro pode ser consultada na complexidade.
Figura 12 do Apêndice. A frequência de corte medida, para As resistências R1 e R2 permitem atuar sobre a
uma atenuação de 6dB é de 158,98 mHz, o que se aproxima largura de banda, podendo ser ajustadas consoante o que se
do desejado. Pode verificar-se ainda que a atenuação é pretende.
insignificante à frequência de 1Hz, que é uma componente Para projetar o circuito que rejeita a componente de 50
do sinal importante nesta aplicação. Hz, tem-se em conta que , logo
Não é possível medir a resposta real em frequência deste
filtro por limitação do equipamento utilizado. .
A.3. Filtro Ativo Passa-baixo de 2ª ordem Se , . Com os componentes
disponíveis e fazendo alguns ajustes chega-se à montagem da
Para projetar este filtro procedeu-se de forma similar à
Figura 17 do Apêncice, cuja resposta em frequência pode ser
descrita para o filtro passa-alto. A configuração básica do
consultada na mesma figura. A atenuação é máxima para
passa-alto ativo de 1ª ordem é a representada na Figura 13
50Hz (-26dB).
do Apêndice.
Para projetar o circuito que rejeita a componente de 100
Também nesta configuração se opta por utilizar andares
com componentes diferentes de forma a aumentar um pouco Hz, tem-se em conta que , logo
o Q.
Quando a ordem é superior a 1, a frequência de corte do .
filtro é um pouco diferente da frequência projetada para os Se , . Com os componentes
blocos que o constituem. Esta variação pode ser expressada disponíveis e fazendo alguns ajustes chega-se à montagem da
Figura K, cuja resposta em frequência pode ser consultada
por: , em que fcp é a frequência de na mesma figura. A atenuação é máxima para 100 Hz (-
corte de projeto, é a frequência de corte real e n é a 26dB).
ordem do sistema [7]. As resposta reais medidas para os filtros Notch
Pretende-se uma frequência de corte de cerca de 100 encontram-se nas Figuras 18 e 20 do Apêndice. Visto que
não é possível fazer muito pequenas variações na frequência
Hz, pelo que . A frequência do sinal de entrada a medição não é muito precisa. No
de corte para o bloco da Figura 13 do Apêndice é dada por
entanto o comportamento dos filtros é aproximado ao A.7. Resposta total do sistema
projetado. A resposta total de todos os blocos combinados é
A.5. Amplificador Não Inversor apresentada na Figura 25 do Apêndice. Como se pode
verificar o intervalo de ganho máximo ocorre entre 150mHz
Tendo em conta que a amplitude típica dos sinais de ECG
e 150Hz, devido aos polos introduzidos pelos filtros passa-
é muito baixa, mostra-se necessário introduzir mais um bloco
alto e passa-baixo. Existem mais 2 polos: um aos 50 Hz e
de ganho para que o sinal tenha amplitude suficiente para
outro aos 100Hz (efeitos dos filtros Notch).
que os níveis de tensão sejam bem discriminados aquando da
A resposta real do sistema medida experimentalmente
conversão em digital.
encontra-se na Figura 26 do Apêndice e valida a resposta
O bloco escolhido para esse efeito é o amplificador não
teórica no intervalo de 10 a 300 Hz.
inversor, uma montagem que recorre a um amplificador
operacional e cujo ganho é controlado pelos componentes B. Componente Digital
externos. Nesta configuração, o ganho é dado por A componente digital do sistema divide-se em dois
, em que R2 é a resistência em realimentação. elementos principais: o microcontrolador e o PC. O
microcontrolador tem as funcionalidades de amostragem,
Para um ganho de 16 tem-se , o que é conseguido digitalização e filtragem do sinal de eletrocardiograma
com R2 = 150 kΩ e R1 = 10 kΩ. adquirido pela componente analógica. O PC assegura a
A montagem e a respetiva resposta em frequência são as visualização do sinal processado.
representadas na Figura 21 do Apêndice. Verifica-se que o O microcontrolador utilizado neste projeto é o
ganho estabiliza em 24,08 dB, que em tensão corresponde a: PIC32MX795F512L, incluído no chipKIT Max32. Algumas
. características importantes são: tensão de alimentação
máxima de 3,3V e frequência de operação de 80MHz.
A.5. Somador Não Inversor Em termos de arquitetura este microcontrolador é um
Dado que as tensões de entrada do microcontrolador não RISC de 32 bits (Reduced Instruction Set Computer), ou
podem ser negativas, é necessário implementar um circuito seja, comporta poucas instruções e a memória de dados é
somador de componente continua (Figura 22 do Apêndice) separada da memória de programa, o que permite uma maior
ao sinal à saída do amplificador não inversor, de forma a velocidade de funcionamento e menor risco de interferência.
deslocar o valor médio do sinal. Quanto à memória, o espaço virtual de endereços é de
O circuito implementado é caracterizado pela expressão 4GB e inclui a memória de programa, de dados, registos de
função especial e de configuração. A memória de programa
flash disponível é de 512KB e a memória RAM é de 128KB.
Uma vez que não se pretende ganho no circuito, escolhe-se
Devido ao elevado número de pinos I/O (83), a
Rf = R1 = R = 10kΩ. Va será o sinal à saída do bloco
configuração em chip permite uma utilização mais amigável,
anterior e Vb uma tensão DC obtida através de um divisor de
do microcontrolador [8][9][10].
tensão. Recorrendo à tensão de alimentação e a massa,
O IDE utilizado é o MPLab e a programação é feita em
consegue-se uma tensão Vb = 2V através de um divisor de
linguagem C.
tensão (Figura 23 do Apêndice):
B.1. Configurações Gerais do Sistema
, considerando tem-se
As principais configurações do sistema têm que ver com o
relógio do sistema (SYSCLK) e o relógio periférico
A montagem final e a resposta encontram-se representadas (Peripheral Bus Clock), que controla a maior parte dos
na Figura 23 do Apêndice. Para simular o seu funcionamento periféricos.
colocou-se em Va uma sinusoide com 1V de amplitude de A frequência de sistema é definida no header system.h do
pico. Visualizando ambas entrada e saída verifica-se a saída projeto como 80MHz. A frequência do relógio periférico
é em tudo igual à entrada, exceto no valor médio que passa resulta de uma divisão do SYSCLK por um prescaler. Para
de 0V para 2V. minimizar a potência dinâmica dissipada pelos periféricos a
sua frequência de funcionamento deve ser a menor possível,
A.6. Seguidor de Tensão (buffer) de forma a garantir uma boa performance. Para isso e uma
Entre cada um dos blocos anteriormente descritos, foi vez que a proporção máxima de prescaler é de 1:8, PBCLK
colocado um seguidor de tensão - Figura 24 do Apêndice. A = 80MHz/8 = 10MHz. Esta operação é feita sobre um registo
função do buffer é de adaptação de impedância de um bloco de função especial – DEVCFG1 (device configuration word
para o outro, o que permite ganho em corrente, que não haja 1) – colocando os bits 12-13 (FPBDIV) a ‘1’ [9].
perda em tensão e menor suscetibilidade a ruído. Para isso o
buffer tem ganho em tensão unitário, elevada impedância de B.2. UART
entrada e baixa de saída. A UART (Universal Assynchronous Receiver
Transmitter) é um módulo de comunicação série assíncrona
disponível na família dos PIC32. A comunicação série
permite a transmissão e receção de dados microcontrolador-
PC/PC-microcontrolador. As principais características de e o modo de 16 ou 32 bits. O registo TMRx contém o valor
funcionamento com interesse para este projeto são: da contagem atual e o registo PMx contém o período de
transmissão full-duplex de 8 ou 9 bits, opção de paridade ou contagem pretendido.
não-paridade, opção de 1 ou 2 stop-bits, banda de Baud rate No presente trabalho, o Timer3 é utilizado para definir a
larga, buffers de dados FIFO separados para transmissão e taxa de amostragem, que gera um evento no final da
emissão. contagem para que o conversor analógico-digital realize a
Para que se estabeleça a comunicação entre o conversão da tensão analógica capturada. O período ao fim
microcontrolador e o PC é necessário configurar os registos do qual deve ser realizada uma conversão deve ter a duração
da UART e construir um conjunto de funções auxiliares de
escrita. Os registos da UART são UxMODE (registo de de . Sabendo que os Timers funcionam
modo), UxSTA (registo de controlo e status), UxTXREG à velocidade do relógio periférico é possível determinar a
(registo de transmissão), UxRXREG (registo de receção), velocidade de funcionamento mais adequada de modo a que
UxBRG (registo de Baud Rate). a contagem seja o mais próxima da duração entre amostras.
Para esta aplicação em específico é necessário gerar a A configuração do Timer3 realiza o seu enable no registo
Baud Rate, fazer enable da UART, seleção dos bits de T3CON (ON = ‘1’), seleciona o prescaler 8 (TCKPS =
dados, paridade e stop e enable do modo de receção e ‘011’) e carrega o período de 2083 contagens
transmissão de dados. Dada a simplicidade da tarefa a (PM3=0x0823).
configuração pode ser feita bit a bit, permitindo um maior
controlo sobre os bits alterados. A alternativa seria utilizar
funções da biblioteca de periféricos, que neste caso em
específico poderia ser mais propício a erros. B.3. Conversor Analógico-Digital
A geração da Baud Rate é feita tendo em conta a taxa de O microcontrolador utilizado neste projeto possui um
amostragem (600 Hz) e que o tempo de um envio tem de ser conversor Analógico/Digital (ADC) de 10 bits e possui 16
inferior ao tempo entre uma amostragem e a seguinte. entradas analógicas que podem ser amostradas. O resultado
Pretende-se enviar 3 bytes de dados, cada um com um stop das conversões digitais pode ser guardado num buffer único
bit adicional, pelo que de 16 palavras ou em 2 buffers, cada um com 8 palavras. É
possível ainda definir o formato em que as amostras são
Consultando o manual da UART [11], existem 3 valores guardadas, que varia entre inteiro e vírgula flutuante, entre
de Baud Rate acima do valor calculado para um relógio 16 e 32 bits. O processo das conversões pode ser inicializado
periférico de 10MHz. Escolhe-se a maior Baud Rate de diversas formas: uma conversão pode ser iniciada
(56818,2 bit/s) para que fique assegurado o tempo adicional manualmente, automaticamente ou como resposta a um
de filtragem. O valor a atribuir ao registo U1BRG, e que determinado evento.
define o período de um timer de 16 bits em free-running é O funcionamento do ADC é configurado através de três
10. registos de controlo: AD1CON1, AD1CON2 e AD1CON3.
O enable da UART1 e seleção de bits é feito através do O registo AD1CON1 determina a operação do ADC (ON =
registo U1MODE. O bit 15 (ON) é colocado a ‘1’; os bits 1- ‘1’), o formato de saída dos dados que se pretende que seja
2 (PDSEL) são colocados a ‘00’ para selecionar 8 bits de inteiro de 16 bits (FORM = ‘000’), a fonte de trigger para as
dados e 0 de paridade; o bit 0 (STSEL) é colocado a ‘0’ para conversões, que neste caso ocorre quando o Timer3 atinge o
selecionar 1 stop bit. fim da contagem (SSRC = ‘010’) e amostragem automática
O enable das funcionalidades de transmissão e receção é (ASAM = ’1’). O registo AD1CON2 configura as tensões de
feito através do registo U1STA. Os bits 12 (URXEN) e 10 referência como sendo as mesmas que a alimentação do
(UTXEN) são colocados a ‘1’ microcontrolador (VCFG = ‘000’), geração de uma
Os restantes bits de cada registo não são alterados, interrupção após a conversão de cada amostra (SMPI =
permanecendo os valores por defeito. ‘0000’). O relógio de funcionamento derivado do relógio
periférico (ADRC = ‘0’) é definido no registo AD1CON3. O
B.2. Timer registo AD1CHS permite selecionar o pino analógico com o
Os Timers presentes no microcontrolador são periféricos sinal que deve ser digitalizado (CH0SA = ‘0100’), que
que se revelam úteis no controlo de funcionamento de um corresponde à entrada AN4. Por último, configura-se a
programa. Podem ser utilizados para cronometrar a execução interrupção gerada pelo ADC no fim da conversão.
de determinadas tarefas, gerar interrupções periódicas ou Sempre que o Timer3 atinge o final da contagem, é gerado
gerar eventos que sinalizam determinadas ocorrências a um evento que leva o ADC a iniciar a conversão da tensão
outros periféricos. analógica capturada. A amostra convertida é colocada na
O modo de funcionamento dos Timers é determinado por posição 0 do buffer de saída e imediatamente a seguir é
registos de controlo. Além destes registos, os Timers executada uma interrupção de fim de conversão. É
possuem um registo que contem o valor de fim de contagem importante limpar a flag de interrupção dentro da respetiva
e outro com o valor da contagem atual. O registo TxCON rotina, onde se realiza a leitura do valor convertido. Logo
permite selecionar a velocidade de funcionamento do Timer que o processo esteja concluído, o ADC captura novamente
a tensão analógica, ligando circuito de amostragem ao pino ao máximo as componentes do sinal acima dos 100 Hz e
de entrada e aguarda pela sinalização do Timer para iniciar tendo em conta a aplicação do filtro no processamento em
uma nova conversão. tempo real, foram comparadas as características de filtro
projetados com ambas as abordagens. Para cumprir os
IV. PROCESSAMENTO DIGITAL
requisitos mencionados, o filtro FIR teria de ter uma
Os filtros digitais utilizam sinais de entrada e de saída que frequência superior de corte de 45 Hz e ser de ordem 40. Já
estão no domínio dos tempos. Isto significa que estes sinais no caso do filtro IIR, frequência de corte em 63 Hz e ordem
utilizados são criados através da amostragem do sinal 15 permitem obter um filtro estável com o desempenho
analógico em intervalos de tempo regulares. Este tipo de desejado (Figura 27 do Apêndice). No entanto deve-se notar
processamento implica a utilização de computadores ou que a sua resposta em fase não é linear – Figura 28 do
microprocessadores, cujo hardware, software e instruction Apêndice. Como o tempo de execução é um fator
set são otimizados para efetuar operações matemáticas de determinante da etapa de processamento, opta-se por
alta velocidade, essenciais para processamento de sinais implementar a filtragem recursiva, possuindo esta um custo
analógicos em tempo real. computacional mais baixo do que o filtro FIR.
Em termos de software, existem duas abordagens A análise da Figura 29 do Apêndice permite detetar a
principais no projeto de filtros: FIR (Finite Impulse existência de 15 pólos e 15 zeros, que resultam na seguinte
Response) e IIR (Infinite Impulse Response). Os filtros FIR equação de diferenças:
podem ser implementados por convolução, onde a saída num
dado instante de tempo obtém-se atribuindo um peso a um
número finito de amostras de entrada anteriores, somando-as.
Os filtros IIR também são denominados filtros recursivos,
onde a saída é dada pela soma pesada, tanto de amostras
passadas, como de saídas passadas. Normalmente os filtros
FIR possuem melhor desempenho do que filtros IIR, mas
têm a desvantagem de serem muito lentos, por isso a escolha
do mais adequado baseia-se na temporização pretendida para
a aplicação. Deve-se ter em conta que filtros FIR possuem
uma resposta em fase linear, enquanto no caso dos filtros IIR
a resposta em fase pode não ser linear [12], [13].
A relação entre os coeficientes da resposta do filtro é dada A.2. Filtro passa-alto
pela transformada Z. Sabendo a resposta do filtro, é possível A equação de diferenças de 1ª ordem pode ser utilizada
obter informação acerca dos seus coeficientes e escrever a para resolver o problema de base-line drift. O operador
equação de diferenças no domínio dos tempos. derivativo “remove” as partes do sinal que são constantes,
aparecendo na saída apenas as zonas de maior variação. No
A. Projeto dos filtros: considerações para funcionamento
entanto esta filtragem atenua as ondas mais lentas (P e T),
em tempo real
distorce o complexo QRS e amplifica o ruído de alta
O projeto de filtros digitais a implementar no software de frequência. Por isso, é necessário adaptar este operador para
processamento do microcontrolador foi realizado graças a eliminar os efeitos indesejados introduzindo um pólo na sua
DSP System Toolbox de MATLAB. Com esta ferramenta foi resposta (Figura 32 do Apêndice):
possível obter a equação da resposta dos filtros com as
características pretendidas (banda de passagem e de rejeição,
respetivos ganhos, frequência de amostragem, etc.).
Pretende-se obter filtros que efetuem filtragem passa-banda,
além de removerem a componente da interferência da rede
Ao definir o pólo 0.995 são rejeitadas as frequências
elétrica. Ao sinal filtrado é aplicado o algoritmo Pan-
abaixo dos 0.5 Hz, mas mantendo-se o ganho para as
Tompkins para cálculo do ritmo cardíaco. Dado que a etapa
frequências baixas (0.5-1 Hz). A resposta em magnitude e
de decimação é indispensável ao funcionamento deste
fase deste filtro é apresentada nas Figuras 30 e 31 do
algoritmo, os filtros passa-alto e notch podem ser
Apêndice, respetivamente.
implementados para a respetiva frequência, diminuído deste
modo a carga computacional do processo de filtragem. A.3. Filtro notch
Assim, o filtro passa-baixo foi projetado para uma O filtro notch é um filtro recursivo, que foi projetado para
frequência de amostragem de 600 Hz, enquanto o filtro notch uma frequência de amostragem de 200 Hz, frequência de
e o filtro passa-alto foram projetados para uma frequência de corte 50 Hz e fator de qualidade Q = 45. As suas respostas
amostragem de 200 Hz. em magnitude e fase encontram-se apresentadas nas Figuras
A.1. Filtro passa-baixo 33 e 34 do Apêndice.
O diagrama de pólos e zeros é apresentado na Figura 35
A filtragem passa-baixo pode ser implementada através de
do Apêndice e a equação de diferenças que permite
um filtro FIR ou IIR. Considerando que é desejável atenuar
implementar o filtro obtém-se da resposta obtida com a
ferramenta FDAtool. O efeito desejado de atenuação de uma O pré-processamento com filtragem passa-banda melhora
determinada frequência é conseguido à custa de colocação a relação SNR do sinal e permite utilizar thresholds mais
de zeros em . A colocação de pólos muito baixos do que no sinal não filtrado. Além disso, assim
próximo destes zeros permite obter o efeito de atenuação de aumenta a sensibilidade da deteção. Esta abordagem reduz o
frequências muito localizada. número de falsos positivos causados por ruído que imita as
características do complexo QRS. O algoritmo utiliza dois
thresholds, onde o valor de um é metade do outro, para
minimizar os picos de QRS perdidos. Os seus valores são
continuamente atualizados para promover a adaptação ao
sinal, com base nos picos de sinal e de ruído mais recentes.
Após a filtragem, a derivada do sinal permite realçar os
Para tornar o processo de filtragem mais fácil e como os
picos referentes ao complexo QRS. A derivada de 5 pontos é
dois últimos filtros apresentados operam à mesma taxa de
implementada através da seguinte equação de diferenças:
amostragem, é possível juntar as respostas dos filtros, de
modo a obter uma equação de diferenças única. A sua
resposta é dada pelo produto das respostas de cada um dos
filtros:
Realizada a diferenciação, é calculado o quadrado do sinal
ponto a ponto, que efetua filtragem não-linear da saída e
enfatiza as frequências mais altas:

O objetivo da integração é obter as características da


forma de onda do sinal, juntamente com o declive da onda R.
O número N de amostras utilizadas para calcular o integral é
muito importante e deve ser escolhido de forma adequada,
tendo em conta a taxa de amostragem do sinal. Para um sinal
O respetivo diagrama de pólos e zeros encontra-se
de 200 Hz, uma janela de 30 amostras é adequada.
apresentado na Figura 35 do Apêndice. A resposta em
magnitude e fase do filtro obtido pode ser observada nas
Figuras 36 e 37 do Apêndice. Estes resultados permitem
Com base no sinal obtido com todo o processamento
observar que as respostas do filtro resultante correspondem à
realizado até ao momento, é necessário implementar um
sobreposição dos respetivos diagramas dos filtros que o
critério de deteção de picos que potencialmente poderiam
compõem.
pertencer a um complexo QRS. Sabe-se que fisiologicamente
B. Algoritmo para determinação do ritmo cardíaco a distância mínima de ocorrência entre dois complexos QRS
Tal como já foi visto, o ECG é composto por um conjunto é 200 ms, por isso este valor será utilizado para definir o
de ondas representativas da atividade cardíaca, referentes ao tamanho da janela que efetuará a procura de picos. Para tal,
mesmo período do sinal, dificultando o processo do cálculo utiliza-se uma janela de 40 pontos (0,2/(1/200)), onde é
do ritmo cardíaco, principalmente quando se trata de procurado o valor do máximo local. Com base nesta deteção,
aplicações em tempo real. Uma característica do sinal que é executado o algoritmo de threshold adaptativo para decidir
pode servir de referência para o seu cálculo é o complexo se o pico pertence a um complexo QRS ou é causado por
QRS. Tipicamente, esta onda é mais diferenciada das ruído.
restantes, sendo a mais adequada para constituir o objetivo O algoritmo de decisão utiliza o threshold mais alto para
de algoritmos de deteção de picos. realizar a primeira análise do pico. O segundo threshold
Ainda assim a deteção de QRS é difícil, não só por causa utiliza-se para aplicar a técnica de searchback, que verifica
da variabilidade fisiológica do complexo, mas também por em ocorrências passadas se foi perdido algum complexo
causa da presença de vários tipos de ruído no sinal. Pan e QRS. Se o pico PEAKI exceder o valor do primeiro
Tompkins propuseram um método de deteção de complexos threshold THRESHOLDI1 na primeira análise, este é
QRS que engloba vários passos de processamento: filtragem classificado como pico QRS, sendo o valor da estimativa
linear, transformações não-lineares e algoritmos de decisão. corrente do pico SPKI atualizada da seguinte forma:
A filtragem passa-banda do sinal proposta será substituída
por filtros IIR implementados no presente projeto,
aplicando-se os restantes passos do algoritmo de deteção de
picos. Estes englobam o cálculo da derivada e quadrado do Se o pico for inferior ao THRESHOLDI1, mas exceder o
sinal filtrado, integração com uma janela móvel e cálculo de THRESHOLDI2, este pode ainda representar um pico QRS,
thresholds adaptativos que constituem o algoritmo de onde a atualização da estimativa do erro realiza-se duas
decisão. vezes mais rápido:
dificuldade do tratamento destes dados consiste na sua
representação em binário, levando à necessidade de definir
Caso o pico detetado não satisfaça nenhuma das seguintes mais um critério de distinção entre valores positivos e
condições, este é classificado como ruído e a atualiza-se a negativos. Para evitar este problema, antes de se proceder ao
estimativa do pico de ruído NPKI: envia de dados, é somado metade do valor de fim de escala
de conversão do ADC (1024/2) ao sinal, tornando positivos
todos os seus valores.

Em todas as situações os thresholds são atualizados de


acordo com as seguintes expressões [14], [15]:

V. SOFTWARE
Os filtros e os algoritmos apresentados foram
implementados em C, no IDE MPLAB. Em aplicações de
processamento de sinais em tempo real, é necessário
produzir uma saída ao mesmo tempo que o sinal é adquirido.
Neste tipo de aplicações a informação deve estar
imediatamente disponível, tornando necessário armazenar
determinado número de pontos de cada sinal e renová-los
continuamente. Isto é conseguido graças a buffers circulares.
O seu tamanho é definido de acordo com o número de
amostras necessárias à implementação das equações de
diferenças de cada tipo de processamento, possuindo uma
localização fixa na memória em forma de array linear.
Sempre que o buffer recebe uma nova amostra, esta é
guardada no local da amostra mais antiga e o apontador que
contém o seu início é deslocado 1 espaço de memória [12].
Deste modo, o buffer circular é definido por 3 parâmetros:
tamanho, localização na memória e apontador para o seu
início, que neste caso foi considerado como amostra mais
recente.
Foram implementados métodos próprios de acesso aos
buffers, nomeadamente a função que introduz uma nova
amostra (put_in_buffer) e a função que lê o conteúdo do
Figura 4. Fluxograma do programa executado pelo micricontrolador
buffer (read_buffer).
Os conteúdos dos buffers são representados por vírgula
flutuante, sendo convertidos para inteiro durante o envio dos VI. INTERFACE GRÁFICA
dados pela comunicação série. A função de cálculo do ritmo A interface gráfica do sistema de aquisição de ECG foi
cardíaco baseia-se nas deteções por parte da função que implementada através do IDE QtCreator em C++. Para a
implementa o algoritmo Pan-Tompkins. Sempre que é criação do Layout recorreu-se ao Qwt, uma biblioteca que
detetado um complexo, o conteúdo da variável de contagem contém componentes de GUI (interface gráfica do
dos pontos entre duas deteções é convertido em ritmo utilizador).
cardíaco. A maior parte das variáveis do sistema são O objetivo da interface passa por mostrar o sinal de ECG
declaradas como globais, sendo apenas atualizado o seu depois de ser processado digitalmente no microcontrolador e
conteúdo. o ritmo cardíaco calculado através do algoritmo Pan-
A implementação do algoritmo Pan-Tompkins pressupõe Tompkins.
inicialização dos seus parâmetros e dos thresholds A implementação da interface teve base em dois projetos
adaptativos. Para tal, definiu-se um tempo de espera de 3 s das bibliotecas do QtCreator que satisfaziam parte dos
no início da execução do programa, para que o requisitos do sistema implementado: creaderasync e
funcionamento do detetor de picos seja viável. O fluxograma oscilloscope.
do programa implementado encontra-se apresentado na O projeto oscilloscope implementa uma aplicação que
Figura 4. simula um osciloscópio simples, com apenas um canal de
A filtragem digital passa-alto remove a componente entrada e algumas funcionalidades como alteração da
frequência e amplitude observadas. O sinal apresentado no
contínua do sinal, produzindo valores negativos. A
monitor é uma sinusoide gerada a partir da classe Função handleReadyRead:
SamplingThread, cujos valores são colocados num objeto da Variáveis:
classe SignalData. Para que este projeto se adeque ao a: array
sistema implementado é necessário que o sinal gerado seja b1, b2, b3, ECG, BPM: array de booleanos
substituído pelo sinal disponível na porta série enviado pelo ecgMS, ecgLS, ecg1, ecg2, ecg, bpm: string
I, n, ECG2, BPM2: int
microcontrolador. s: ponto (float, float)
A função do projeto creaderasync é a leitura dos dados elapsed: double
disponíveis na porta série através da classe SerialPortReader sinal: instância da classe SignalData
e apresentação na linha de comandos. Assim sendo, a classe Início:
SerialPortReader satisfaz os requisitos necessários para a  ler(bytes disponíveis na porta série)
substituir o sinal gerado pela classe SamplingThread. Os n  tamanho de a
para i de 0 até n-2 de 2 em 2:
valores de eletrocardiograma lidos na porta série são então b1  a(0)
adicionados ao sinal SignalData que será mostrado no b2  a(1)
monitor e o valor de ritmo cardíaco vai sendo atualizado e elapsed  tempo medido por relógio
mostrado num objeto de layout QLCDNumber. Se b1(6) == 0 e b1(7) == 0 e b2(6) == 0 e
É necessário desenvolver uma função que seja capaz de b2(7) == 1:
ecgMS  string(b1)
descodificar o protocolo de envio da informação pelo ecgLS  string(b2)
microcontrolador. São enviados 4 bytes de dados de cada ecg1  ecgMS(0,6)
vez (mais um stop bit por cada um): dois que representam os ecg2  ecgLS(0,6)
bits mais significativos e menos significativos do valor de ecg  extensão de ecg1 por ecg2
ECG e dois para representar o valor do ritmo cardíaco. O ECG  array de bool (ecg)
protocolo de envio consiste em adicionar os bits ‘00’ no caso ECG2  int(ECG)
s  (elapsed, ECG2)
de os restantes 6 bits se tratarem dos bits mais significativos sinal. append(s)
do ECG, ‘01’ no caso de os restantes 6 bits se tratarem dos Senão se b1(6) == 1 e b1(7) == 0 e b2(6)
bits menos significativos do ECG, ‘10’ no caso de os == 1 e b2(7) == 1:
restantes 6 bits se tratarem dos bits mais significativos do bpmMS  string(b1)
Ritmo Cardíaco e ‘11’ no caso de os restantes 6 bits se bpmLS  string(b2)
tratarem dos bits se tratarem dos bits menos significativos do bpm1  bpmMS(0,6)
bpm2  bpmLS(0,6)
Ritmo Cardíaco. bpm  extensão de bpm1 por bpm2
A função handleReadyRead implementada na classe BPM  array de bool (bpm)
SerialPortReader faz a descodificação e disponibiliza os BPM2  int(BPM)
sinais para serem visualizados. Devem ser verificados os 2 setBpm(BPM2)
casos possíveis: os 2 bytes do array terminarem em ‘00’ e Fim para
Fim função
‘01’, ou em ‘10’ e ‘11’. O algoritmo implementado encontra-
se no Quadro 1.
QUADRO 1 ALGORITMO HANDLEREADYREAD

VII. RESULTADOS
No que concerne a componente digital do Sistema, a
implementação dos blocos foi já discutida e validada em
termos teóricos e em comparação com os valores medidos
experimentalmente.
Uma medição de ECG efetuada com o circuito de
aquisição implementado pode ser consultada na Figura 5.
R

Q Figura 7. Sinal obtido por comunicação série na aplicação terminal


S
O sinal apresentado pela interface gráfica pode ser
consultado na Figura 8. É possível identificar as
componentes principais do sinal de eletrocardiograma.

Figura 5. Sinal medido à saída do circuito de aquisição (captura de ecrã


no osciloscópio RIGOL DS110DE)

Verifica-se que a onda T e o complexo QRS são


facilmente identificáveis, mas não é possível distinguir a
onda P. Verifica-se ainda que o sinal continua a apresentar
uma componente de ruído de alta frequência significativa.
O funcionamento dos filtros implementados e do
algoritmo Pan-Tompkins foi testado um sinal ECG fornecido
pelo autor do livro Biomedical Signal Analysis: A Case-
Study Approach [5]. A Figura 39 do Apêndice permite
verificar que o resultado produzido pela filtragem e
algoritmo de deteção de picos está de acordo com o Figura 8. Sinal apresentado pela interface gráfica
funcionamento pretendido para o sistema. A ausência de
picos nos primeiros 3 segundos do sinal é explicada pela
etapa de espera para inicializar os parâmetros da função Pan- VIII. DISCUSSÃO
Tompkins. Variações na resposta do circuito e persistência de ruído
A medição do tempo de execução dos principais blocos do indicam que apesar de o circuito projetado possuir as
programa encontra-se apresentada na Figura 6. características ótimas para a aquisição deste tipo de sinal,
poderá ser demasiado complexo para as condições de
implementação. Tendo em conta o elevado número de
componentes em cada bloco e a falta de isolamento elétrico,
é muito provável que ocorram falhas no funcionamento do
circuito. Para além disso, todos os blocos possuem várias
resistências, que introduzem ruído térmico, que após algum
tempo de utilização é considerável.
Apesar das limitações, as componentes principais do sinal
de eletrocardiograma são representadas corretamente e é
possível analisar as suas principais propriedades de interesse.
A aplicação de filtros digitais poderá eliminar as
componentes de ruído. As características do sinal levam a
crer que será possível a implementação de algoritmos de
deteção de ritmo.
Os resultados da filtragem digital sobre um sinal gravado
Figura 6. Diagrama temporal da execução de diversas funções do validam a sua implementação. Não existe nenhum indício de
programa que os resultados apresentem distorção ou perda de
componentes de interesse. Contudo, o sinal disponível por
O sinal representado em Matlab a partir dos valores comunicação série (Figura 7) apresenta ainda bastante ruído.
disponíveis da comunicação série através aplicação terminal Outra característica que deve ser analisada é a amplitude da
pode ser consultado na Figura 7. onda T relativamente ao complexo QRS, que fica bastante
maior em relação ao que acontecia no sinal original.
Visto que as operações de filtragem no microcontrolador
são feitas com os coeficientes dos filtros calculados, em
float, tal como é feito para a validação do processamento de isolamento e adição de ruído.
digital, não parece ser essa a origem da distorção. O efeito dos filtros digitais no sinal real não é exatamente
Das respostas em frequência dos filtros digitais apenas se o esperado teoricamente, não sendo a determinação da causa
consegue verificar uma possível causa de impressibilidade da trivial.
resposta: o filtro passa-baixo implementado é do tipo O processo de filtragem digital consome tempo de
recursivo (IIR). Estes filtros possuem algumas desvantagens, computação significativo pelo que, é sem dúvida necessária
nomeadamente a introdução de instabilidade. Embora não uma otimização do programa implementado. Por exemplo,
seja possível identificar zonas de instabilidade na resposta do pode-se projetar o sistema para uma taxa de amostragem
filtro Notch recursivo, essa limitação é visível na resposta do mais baixa, (400 Hz), o que implicaria a reimplementação
filtro passa-baixo. Visto que nos testes de validação este
dos filtros digitais e ajustes das frequências de corte dos
fator não se revela problemático, não se pode afirmar que
filtros analógicos. No entanto, esta abordagem pode
esta seja a causa principal da distorção do sinal.
aumentar o efeito de aliasing no sinal. Por outro lado, pode
Falhas no envio também podem comprometer a
apresentação do sinal. A temporização da filtragem digital ser realizado um estudo do custo computacional do
revela que poderá haver dificuldades neste sentido. processamento e aplicadas estratégias que possam
O resultado apresentado na interface gráfica (Figura 8) simplificar o cálculo das filtragens.
sugere que ocorre distorção do sinal relativamente ao que se A codificação dos dados enviados através da comunicação
obtém através da aplicação terminal, pelo que a série mostrou-se eficaz na transmissão de dados. Esta
descodificação do protocolo de comunicação falha em permite reconstruir o sinal com o mínimo de perdas e
alguns pontos. Para além disso, há indícios de falhas na recuperar o processo de aquisição de informação, mesmo
comunicação uma vez que o ritmo cardíaco apresenta por que a comunicação seja interrompida durante um intervalo
vezes valores da ordem de grandeza dos pontos do ECG. de tempo.
Várias alterações foram feitas à função handleReadyRead(), Conclui-se que a implementação de um sistema completo
para garantir que o protocolo de comunicação fosse bem de aquisição, processamento, visualização gráfica de ECG e
descodificado, mas nenhuma surtiu o efeito desejado. a integração das partes é um processo complexo que exige a
projeção dos vários componentes em conformidade com o
IX. CONCLUSÃO restante sistema, limitando as possibilidades de solução de
A complexidade do circuito analógico de aquisição de alguns problemas.
ECG pode comprometer os resultados devido aos problemas

APÊNDICES

Figura 9. Diagrama de pinos do circuito INA121.


Figura 10. Configuração do filtro passa-alto ativo

R1
R4
4.7MΩ
2.2MΩ
V4
-5 V V1
11
-5 V
R2 C1 U1A
2 C2 11 U2A
R3
4.7MΩ 220nF 1 2
3 2.2MΩ 440nF 1
4 LM324N 3

VCC 4 LM324N
5V VCC
5V
Figura 11. Filtro Passa-alto Ativo de 2ªordem implementado

Figura 12. Resposta em frequência do circuito Passa-alto Ativo de 2ª ordem simulada no Multisim
Figura 13. Configuração fo filtro Passa-baixo ativo

C1 C2

94nF 47nF
R1
R3
18kΩ
34.1kΩ

V4 V1
-5 V -5 V
11 U1A 11 U2B
R2 R4
2 6
18kΩ 1 34.1kΩ 7

3 5
4 LM324N 4 LM324N
VCC VCC
5V 5V

Figura 14. Filtro Passa-baixo ativo de 2ª ordem implementado

Figura 15. Resposta em frequência do circuito Passa-baixo Ativo de 2ª ordem (simulada no Multisim à equerda e medida à direita)
Figura 16. Configuração do Filtro Notch Ativo

C1 C2 V1
-5 V
11 U1A
47nF 47nF
2
1
R1 R2 3
4 LM324N
68kΩ 68kΩ
R3 VCC
34.8kΩ 5V
R4
C3 22kΩ
94nF 4 U1B
5

7 R5
6 82kΩ
11 LM324N

Figura 17. Filtro Notch de 50Hz implementado e respetiva resposta em frequência medida no Multisim

Figura 18. Resposta em frequência medida para o Filtro Notch de 50Hz


C1 C2 V1
-5 V
11 U1A
47nF 47nF
2
1
R1 R2 3
4 LM324N
34.5kΩ 34.5kΩ
R3 VCC
17.5kΩ 5V
R4
C3 22kΩ
94nF 4 U1B
5

7 R5
6 82kΩ
11 LM324N

Figura 19. Filtro Notch de 100Hz implementado e respectiva resposta em frequência medida no Multisim

Figura 20. Resposta em freuqência edida para o Filtro Notch Ativo de 100 Hz

VCC
5V
4 U1A
3
1
R1
2
10kΩ 11 LM324N
V1
-5 V

R2

150kΩ

Figura 21. Amplificador não inversor implementado e respetiva resposta em frequência


Figura 22. Configuração do circuito Somador não inversor e divisor de tensão contínua

R1

10kΩ

V1
-5 V
Vo
11 U1A
R2
2 Va
10kΩ 1
R3
3
10kΩ 4 LM324N
R4 R5 VCC
10kΩ 10kΩ 5V
V3 R6
5V 6.8kΩ

Figura 23. Circuito somador não inversor implementado e respetiva resposta

Figura 24. Buffer implementado com ampop


Figura 25. Resposta em frequência da totalidade do sistema analógico

Figura 26. Resposta em frequência medida para todo o sistema

Figura 27. Resposta em frequência do filtro passa-baixo IIR digital


Figura 28. Resposta em fase do filtro passa-baixo IIR digital

Figura 29. Diagrama de pólos e zeros do filtro passa-baixo IIR digital

Figura 30. Resposta em magnitude do filtro passa-alto digital


Figura 31. Resposta em fase do filtro passa-alto digital

Figura 32. Diagrama de pólos e zeros do filtro passa-alto digital

Figura 33. Resposta em magnitude do filtro Notch digital para 50 Hz


Figura 34. Resposta em fase do filtro Notch digital para 50 Hz

Figura 35. Diagrama de pólos e zeros do filtro Notch digital para 50 Hz

Figura 36. Resposta em magnitude da combinação de filtragens passa-alto e Notch


Figura 37. Resposta em fase da combinação de filtragens passa-alto e Notch

Figura 38. Diagrama de pólos e zeros da combinação de filtragens passa-alto e Notch

Figura 39. Representação sequencial do desempenho do algoritmo de cálculo do ritmo cardíaco


REFERÊNCIAS BIBLIOGRÁFICAS
[1] W. F. Boron, E. L. Boulpaep, Medical Physiology, 2011, Elsevier
[2] E.J. Berbari, Principles of Electrocardiography, The Biomedical Engineering Handbook, 2 nd Edition, 2000, Boca Raton.
[3] J. H. Correia, J. P. Carmo, Introdução à Instrumentação Médica, LIDEL.
[4] N. Townsend, Medical Electronics, 2001, Michaelmas Term.
[5] R. M. Rangayyan, Biomedical Signal Analysis: A Case-Study Approach, 2002, Wiley-IEEE Press.
[6] Notas das aulas de Electric Circuit Theory, College of Engineering, University of Boston.
[7] J. Zapka, Notas sobre Filtros Ativos, Electrical and Computer Engineering, Youngstown State University.
[8] chipKIT™ Max32™ Board Reference Manual, Julho de 2011, DIGILENT.
[9] 32-bit Microcontrollers (up to 512 KB Flash and 128 KB SRAM) with Graphics Interface, USB, CAN, and Ethernet, 2013, MICROCHIP.
[10] Microcontroladores PIC online, 2003, mikroElektronika.
[11] Section 21. UART, 2012, MICROCHIP.
[12] S. W. Smith, The Scientist and Engineer’s uide to Digital Signal Processing, 1997.
[13] Analog Dialogue – Why use DSP?, disponível em < http://www.analog.com/library/analogDialogue/archives/31-1/DSP.html>, acedido pela ultima
vez em 11-07-2014.
[14] W. J. Tompkins, Biomedical Digital Signal Processing, 2000, Prentice Hall
[15] J.Pan, W. J. Tompkins, A Real-Time QRS Detection Algorithm, IEEE Trans. Biomed. Eng., No 3, March 1985

Вам также может понравиться