程序中如何实现滤波、峰值检测和心率计算

描述

继续讲解心率算法!从大西北回到南京后,本人就一直在完善之前写的程序,终于在十月初完成一版了。本文将给出算法程序的全部内容!当然给出的只是浮点程序,如果要转为单片机中的C程序,首先要进行定点处理。先来看看程序中如何实现滤波、峰值检测和心率计算的!只有先完成性能仿真,符合了要求,才能进行下一阶段的工作。接着上篇文章的内容继续讲解,首先来看看算法程序!算法程序的主要功能是能够从PPG数据中得到准确的心率值!文章末尾给出数据的下载链接!

% PPG_25hz_dsp_6v2

% data:2021-10-8

%%% 程序说明

% 读取csv文件!

% 滤波采用差分算法!

% 采用峰值比较算法3

clc;clear all;close all;

%----------------          program  main     --------------------------%   

%%%%%%%%%%%%% 数据读取

%%%%%%% 采集数据

%%% 文件名

PPG_filename = '20210814-2229.csv'; 

% PPG数据 文件已经上传到网盘!

%%% 读入数据

PPG_data = readmatrix(PPG_filename);

%%% 心率数据

%  采样频率 25Hz

Fs = 25 ;

heart_rate_data = PPG_data(:,2);

% time 959second

%%%%%%%%%%%%%%%%%%    单片机实现部分

%%%%%%%%%%%     数据滤波处理

%%% 差分

% hr_data1 = diff(heart_rate_data);

%%% 五点差分滤波  二阶导数

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分