数字信号处理课程研究报告
xxxxx 院电气与自动化工程学院
、课题描述
已给定采集完毕的脉搏信号,使用 MATLA分析脉搏信号,并计算其心率。
二、 课题分析
本课题的任务是根据采集的脉搏信号计算心率。首先使用 MATLA读取采集到的脉搏信
号,因为脉搏信号中存在基线漂移、工频干扰与肌电干扰,所以要设计滤波器滤除干扰,得 到有用的信息,得到满意的脉搏信号波形后,计算心率。
三、 课题设计
脉搏信号以文本格式存储,使用MATLA的 load()函数读取已经采集完毕的脉搏信号, 应注意文件的路径与名字必须正确。
经查阅资料可知基线漂移的频率在 0-0.5HZ ,工频干扰在 50*kHZ( k 为正整数),而肌 电干扰无法滤除。 所以首先设计一个高通滤波器滤除基线漂移, 而后再设计一个带阻滤波器 滤除工频干扰。因为 IIR 滤波器阶数更低、滤波效果更好,所以使用 IIR 滤波器。又因巴特 沃斯滤波器与其他几种 IIR 滤波器相比, 在通频带内频率响应曲线最为平坦, 故选用巴特沃 斯滤波器。
最后使用MATLA中的findpeaks ()函数捕获滤波后的脉搏信号的波峰,由波峰 /总时 间*60 求得其心率。
1.MATLAB脚本
MATLA程序如下:
clc;
clear;
x=load( 'F:/ 丑永新 _pulse.txt' );
nn=40;
x=x(1:nn,:)'; %取出 1-40 行的所有数据
x=reshape(x,1,3000*nn); %重新排列
x=x./1000; %各m\化为 V fss=1000; %采样频率
N=length(x);
m=1:N;
figure
plot(m*ts,x)
title( ' 原始信号 ' );
pinpu(fss,x);
axis([0 5 0 1])
title( ' 原始信号的频谱 ' );
%接下来设计一个 IIR 高通滤波器
fs=0.1;fp=0.6;wp1=2*fp/fss;ws1=2*fs/fss; %设置通带截止频率以及阻带截止频率
Rp1=3;Rs1=40; %设置通带波纹与阻带波纹
[n1,wc1]=buttord(wp1,ws1,Rp1,Rs1);
[b1,a1]=butter(n1,wc1, 'high' );
figure
freqz(b1,a1); %滤波器的频率响应
title( ' 高通滤波器频率响应 ' )
y1=filter(b1,a1,x);
figure
plot(m*ts,y1)
title( ' 第一次滤波后时域波形 ' )
%接下来设计一个带阻滤波器 , 步骤与前一个相似
fp1=47;fs1=49;fs2=51;fp2=53;
wp2=2*[fp1 fp2]/fss;
ws2=2*[fs1 fs2]/fss;
Rp2=3;Rs2=40;
[n2,wc2]=buttord(wp2,ws2,Rp2,Rs2);
freqz(b2,a2)
title( ' 带阻滤波器频率响应 ' )
y2=filter(b2,a2,y1);
figure
plot(m*ts,y2)
title( ' 最终滤波后的波形 ' );
%最后计算心率
%设置阈值
threshold=0.5;
%找出所有峰值 ,0.5*fss 为间隔时间,用以去除干扰峰值
[pks,locs] = findpeaks(y2, 'minpeakheight' ,threshold, 'minpeakdistance' ,0.5*fss);
hold on
plot(locs*ts,pks, 'x' );
%心率为峰值个数 / 总时间 *60
count=length(pks)/(N*ts)*60
2. 设计结果
设计结果如下所示:
3. 结果分析
从原始的脉搏信号时域波形可观察出, 信号的基线上下波动很大, 而对比第一次滤波后 的时域波形可以发现,滤波后时域波形的基线位置波动很小,滤波效果已经达到。再对它们 的脉冲频谱进行观察,可以直观的发现, 0-0.5HZ 之间的干扰被有效的滤除。
将原始脉搏信号局部进行放大, 可以观察到信号的毛刺很多, 对比第二次滤波后的波形 可以发现,第二次滤波后的波形明显变得光滑,毛刺少了许多,滤波效果差强人意。
得到满意的波形后,使用fin dpeaks ()函数捕获其波峰,在 MATLAB?序中已对其电 压阈值与时间间隔进行了限制, 去除了多余的干扰, 捕获到了理想的波峰, 最后进行了计算, 求出心率为
90/min 。
四、课题总结
通过本次课题, 我对滤波器的理解更加深入了一点, 更加清晰的明白了滤波器的工作原 理以及实质,对相关函数的使用与了解也有了一定程度的进步,获益良多。本次课题主要考 查的还是学生对滤波器的理解程度以及对 MATLABi关函数使用的熟练程度。本次课题有许
多不足之处, 例如滤波器的设计远非完美, 但是这需要大量的练习以及大量的工程经验来积 累,所以本次课题的完成度已经让我满意。