Versão 3

Versão 3SensorCircuitoCódigoResultadosArquivos "bag"Pós-processamento do sinal filtrado

 

Sensor

Nova disposição física para o sensor:

IMG_20241015_154853

Em uso:

DetalheEm uso
IMG_20241016_161959IMG_20241016_162209

Circuito

Diagrama ElétricoDiodo Foto-detectorDetalhe led
Foto_acoplador_3Foto_acoplador_1Foto_acoplador_2

Obs.: Note que o foto-diodo é polarizado inversamente quando usado como sensor.

Código

Segue pulse_monitor_3.ino:

Resultados

A figura abaixo mostra como fica a captura de dados SEM dedo colocado sobre o par emissor-receptor fotoelétrico:

pulse_monitor_3_3_sem_dedo

Captura semelhante observando a saída do filtro:

pulse_monitor_3_3_sem_dedo_y

O próximo gráfico compara "escalonado":

pulse_monitor_3_3_sem_dedo_x_y_aux

A próxima figura mostra uma sequência de captura de dados COM o dedo posicionado de forma algo estática sobre o conjunto emissor-sensor fotoelétrico:

Gráfico dos dados brutos, :

pulse_monitor_3_3_com_dedo_x

Gráfico do valor filtrado, :

pulse_monitor_3_3_com_dedo_y

A próxima figura mostra um gráfico do tipo (sinal bruto) (sinal filtrado) "escalonado" ou variável y_aux calculada da seguinte forma:

Esta variável foi acrescentada depois ao código mostrado acima e os valores usados para "escalar" foram obtidos empiricamente observando ensaios realizados.

É possível se observar simulateamente sinal bruto (value 3) sinal filtrado (escalonado) (value 5):

pulse_monitor_3_3_com_dedo_x_y_aux

Note que o filtro consegue "ignorar" adequadamente bem variações abruptas no sinal de entrada causadas por movimentação do dedo, movimento do dedo sobre sensores, etc:

pulse_monitor_3_3_com_dedo_x_y_aux2

Arquivos "bag"

Disponibilizando arquivos de dados capturados para testes offlines de algoritmos de filtros e detecção de picos:

Trabalhando com os dados do último arquivo se é capaz de mostrar e ao mesmo tempo, no mesmo gráfico:

pulse_monitor_3_3_com_dedo.png

Você pode plotar os dados usando o Matlab:

Seria obtido um gráfico como:

captura_sem_dedo.png

Note como o sinal se modifica quando o dedo está sobre o sensor:

captura_com_dedo.png

Por isto que se faz necessário passar o sinal bruto pelo filtro passa-faixa, resultado em:

captura_com_dedo_y.png

Obs.: note que os 2 primeiros segundos do sinal filtrado são ignorados, o filtro ainda está no seu "regime transitório".

Os arquivos "bag" podem ser úteis para testar diferentes abordagem para pós-processamento do sinal bruto, sem necessidade de acessar novamente o hardware para realizar novos ensaios in-locco.

Resta agora detectar os picos e calcular o BPM.

Pós-processamento do sinal filtrado

Para determinar o BPM, ainda se faz necessário processar o sinal filtrado fazendo:

 


🌊 Fernando Passold 📬 ,