基于脉搏信号的心率计算

基于脉搏信号的心率计算

ID:39562170

大小:278.51 KB

页数:10页

时间:2019-07-06

基于脉搏信号的心率计算_第1页
基于脉搏信号的心率计算_第2页
基于脉搏信号的心率计算_第3页
基于脉搏信号的心率计算_第4页
基于脉搏信号的心率计算_第5页
资源描述:

《基于脉搏信号的心率计算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字信号处理课程研究报告xxxxx院电气与自动化工程学院一、课题描述已给定采集完毕的脉搏信号,使用MATLAB分析脉搏信号,并计算其心率。二、课题分析本课题的任务是根据采集的脉搏信号计算心率。首先使用MATLAB读取采集到的脉搏信号,因为脉搏信号中存在基线漂移、工频干扰与肌电干扰,所以要设计滤波器滤除干扰,得到有用的信息,得到满意的脉搏信号波形后,计算心率。三、课题设计脉搏信号以文本格式存储,使用MATLAB的load()函数读取已经采集完毕的脉搏信号,应注意文件的路径与名字必须正确。经查阅资料可知基线漂移的频率在0-0.5HZ,工频干扰在

2、50*kHZ(k为正整数),而肌电干扰无法滤除。所以首先设计一个高通滤波器滤除基线漂移,而后再设计一个带阻滤波器滤除工频干扰。因为IIR滤波器阶数更低、滤波效果更好,所以使用IIR滤波器。又因巴特沃斯滤波器与其他几种IIR滤波器相比,在通频带内频率响应曲线最为平坦,故选用巴特沃斯滤波器。最后使用MATLAB中的findpeaks()函数捕获滤波后的脉搏信号的波峰,由波峰/总时间*60求得其心率。1.MATLAB脚本MATLAB程序如下:clc;clear;x=load('F:/丑永新_pulse.txt');nn=40;x=x(1:nn,:

3、)';%取出1-40行的所有数据x=reshape(x,1,3000*nn);%重新排列x=x./1000;%将mV化为Vfss=1000;%采样频率ts=1/fss;N=length(x);m=1:N;figureplot(m*ts,x)title('原始信号');pinpu(fss,x);axis([0501])title('原始信号的频谱');%接下来设计一个IIR高通滤波器fs=0.1;fp=0.6;wp1=2*fp/fss;ws1=2*fs/fss;%设置通带截止频率以及阻带截止频率Rp1=3;Rs1=40;%设置通带波纹与阻带波

4、纹[n1,wc1]=buttord(wp1,ws1,Rp1,Rs1);[b1,a1]=butter(n1,wc1,'high');figurefreqz(b1,a1);%滤波器的频率响应title('高通滤波器频率响应')y1=filter(b1,a1,x);figureplot(m*ts,y1)title('第一次滤波后时域波形')%接下来设计一个带阻滤波器,步骤与前一个相似fp1=47;fs1=49;fs2=51;fp2=53;wp2=2*[fp1fp2]/fss;ws2=2*[fs1fs2]/fss;Rp2=3;Rs2=40;[n2,

5、wc2]=buttord(wp2,ws2,Rp2,Rs2);[b2,a2]=butter(n2,wc2,'stop');figurefreqz(b2,a2)title('带阻滤波器频率响应')y2=filter(b2,a2,y1);figureplot(m*ts,y2)title('最终滤波后的波形');%最后计算心率%设置阈值threshold=0.5;%找出所有峰值,0.5*fss为间隔时间,用以去除干扰峰值[pks,locs]=findpeaks(y2,'minpeakheight',threshold,'minpeakdistanc

6、e',0.5*fss);holdonplot(locs*ts,pks,'x');%心率为峰值个数/总时间*60count=length(pks)/(N*ts)*602.设计结果设计结果如下所示:3.结果分析从原始的脉搏信号时域波形可观察出,信号的基线上下波动很大,而对比第一次滤波后的时域波形可以发现,滤波后时域波形的基线位置波动很小,滤波效果已经达到。再对它们的脉冲频谱进行观察,可以直观的发现,0-0.5HZ之间的干扰被有效的滤除。将原始脉搏信号局部进行放大,可以观察到信号的毛刺很多,对比第二次滤波后的波形可以发现,第二次滤波后的波形明显变

7、得光滑,毛刺少了许多,滤波效果差强人意。得到满意的波形后,使用findpeaks()函数捕获其波峰,在MATLAB程序中已对其电压阈值与时间间隔进行了限制,去除了多余的干扰,捕获到了理想的波峰,最后进行了计算,求出心率为90/min。四、课题总结通过本次课题,我对滤波器的理解更加深入了一点,更加清晰的明白了滤波器的工作原理以及实质,对相关函数的使用与了解也有了一定程度的进步,获益良多。本次课题主要考查的还是学生对滤波器的理解程度以及对MATLAB相关函数使用的熟练程度。本次课题有许多不足之处,例如滤波器的设计远非完美,但是这需要大量的练习以

8、及大量的工程经验来积累,所以本次课题的完成度已经让我满意。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。