李萍,张瑾,关天民
(大连交通大学 机械工程学院,辽宁 大连 116028)
随着人们对人类自身各种生理信息研究的不断深入,人体的生物信号在自然学科、医学和实际生活中越来越受到重视.心电信号作为心脏电活动在人体体表的表现,信号比较微弱,幅值范围0.5~5 mV,带宽 0.05~100 Hz,所以极易受环境影响.在采集的心电信号中,常常掺杂着各种干扰,这些来源于心脏以外的干扰信号会使心电信号在周期和形态上发生畸变,噪声严重时可以完全淹没心电信号[1].为了准确对心电信号进行测量,必须抑制这些干扰.因此,本文将针对心电信号的特点,设计出能够降低动态瞬时心率干扰的检测设计方法.
硬件系统如图1所示,由心率传感器,测量电路,单片机组成.心率传感器采集的人体心电信号,经过整形电路输入单片机.通过单片机的软件编程实现去除干扰信号,测出心跳间隔时间.单片机测出的心率数值再通过无线数传模块(发射块)发射出去,远端的无线数传模块(接收块)收到的心率数值传送到上位机(电脑),实现心率显示.
图1 系统硬件框图
心电信号取自于人体,信号源内阻较高,存在着较强的背景噪声和干扰.在检测人体生物电信号时,采用所谓的生物电测量电极,又称为引导电极来实现[2],本设计中使用的传感器两侧也采用了这种心电电极,采集人体发出的心电信号.电极片的材料可选用金属材料或导电硅胶等,与人体皮肤接触面积应大于3 cm2,以保证信号测量的准确性.电极片引线带有屏蔽层,屏蔽层接地(GND),避免无线干扰被引入采样信号.
电源及设备由于脉冲电流跟电压具有很丰富的高频谐波,因此会产生很强的干扰.干扰通过空间电磁波干扰的形式传播.针对空间存在的电磁干扰,设计使用屏蔽线避免电磁干扰污染空间电磁环境,影响测试结果.
串口地线连接0欧姆电阻,电阻相当于很窄的电流通路,能够有效地限制回路电流,使噪声得到抑制.电阻在所有频带上都有衰减作用,能够达到抑制干扰的作用.
由于采用高频示波器观测到的干扰信号主要出现在上升沿,而下降沿信号相对比较准确.为了保证信号的准确性,所以在软件编程时要对下降沿信号进行采集.当信号处于下降沿时,即开启定时器,开始计数,之后采用延时程序,延时280 ms,跨过干扰信号(即去除干扰信号),再次检测下降沿,处理数据,将数据存入存储单元,重新给寄存器赋初值,将存储单元数据清零,然后再次检测下降沿,依次循环,实时测量出心率值.
瞬时测量方法有脉冲计数法和脉冲间隔测量法.前者直接在1 min里对脉搏进行计数,后者测出脉搏间的间隔Tp后,需按公式60/Tp换算成每分钟心率,即瞬时心率.由于本文的目的就是显示运动员的瞬时心率,因此采用后者.
进行心率测量时,经过放大电路后通过示波器观察,有效的心电信号是脉冲宽度最短为140 ms左右的低电平信号,同时伴有宽度为40 ms的低电平干扰信号,如图2.干扰信号会严重影响对正常心率的采集测量,测试结果偏离人体心跳真实值.因此本文对有效心电信号判断的初始要求是,只有低电平脉宽高于140 ms才能够作为有效信号采集.经过软件限制心电信号采样宽度,放大后的脉冲信号如图3所示.而在高电平信号中存在有大量的干扰信号,为了避免干扰信号掺杂到有效心电信号中,软件设计280 ms延时程序,以跳过干扰区域,查询下一次的有效的低电平信号出现,此次采样结束,从第一个有效低电平出现开始定时,到第二个有效低电平出现定时结束,记录下两次心跳的间隔时间,即是一次心跳时间长度,软件流程如图4.
图2 掺杂干扰的脉冲信号
图3 滤除干扰的脉冲信号
图4 心电信号采样流程图
本文对瞬时心跳的测量主要是测量出两次心跳间隔时间,通过数据处理估算出一分钟心跳次数.健康人的逐拍心跳间隔存在复杂的非平稳的波动,这种波动不仅是外界刺激的结果,在人体处于安静状态时也普遍存在[3].由于心跳间隔以ms为单位,因此每一次心跳间隔是不稳定的,每次测量得出的数据值也存在很大的波动.仅以一次的心跳间隔来反映一分钟心跳次数,数据变化很不稳定,也不能够真实的反映出人体正常心率.除此之外,在使用电极对人体心电信号进行采集时,手部的抖动,肌肉与电极板之间的摩擦也会被作为干扰信号混入采样信号中.
针对本实验,测量数据大多在某一数值范围附近上下波动,为了提高测量速度,更加实时的反映测量结果,选择滑动平均值滤波.滑动平均法采用队列作为数据存储器,队列长度固定为N,每进行一次新的测量,把测量结果放于队尾,而扔掉原来队首的一个数据,这样队列中始终是有固定的“最新”数据[4].
对数据做滑动平均的目的就是对实验采集数据进行滤波,因此是试验中采用将几组滑动平均作对比,通过实验测量得到的数据更为稳定的滤波方法,滤波流程如图5所示.
图5 滑动滤波流程图
动态瞬时心率测量是反映人体运动时的心率变化过程,运动时心率变化过程分为,从静态到动态,动态稳定以及动态到静态三个阶段.本设计主要针对瞬时心率抗干扰进行研究,目的是反映出运动时心率的真实状况,实验观察的数据主要采集运动到稳定状态,动态心率相对平稳时检测心率值,分析处理效果.在运动到动态稳定时,采集4组数据.第一组数据未作滑动平均处理,直接采样得到的数据,第二组为4个数据做滑动平均处理后的结果,第三组为8个数据做滑动平均处理后结果,第四组为16个数据做滑动平均处理后结果.每组数据分为采集40个数.图6、图7、图8、图9是将数据分布的数值采用曲线显示的处理效果.与直接采样、4次、8次滑动平均处理相比,16个数据的滑动滤波,数值浮动的范围明显缩小,幅度变化在2以内.在运动状态下,心率存在微小波动属于正常现象,心率值变化幅度不大,相对静止时心率值会明显升高,在运动稳定的状态下心率值分布成平滑曲线.考虑到滑动平均的数据个数,也会影响到测量的瞬时性.数据越多,实验数据的瞬时性越差,因此本文选择对16个数据做滑动平均,保证数据准确性的同时也能够反映人体的真实心率.
图6 采样心率曲线效果图
图7 4个数据滑动平均效果图
图8 8个数据滑动平均效果图
图9 16个数据滑动平均效果图
心电信号是属于强噪声背景下的微弱低频信号,信号源内阻较高,且存在着较强的背景噪声和干扰.本文针对心电信号的特点,利用软件数字滤波的方法,对采样数据及处理数据进行比较.结果表明,经过处理后,数据波动正确的反映了心率状态,可以提供稳定准确的数值依据.
[1]陈光健,何华平,曾惠彬.心电信号放大滤波电路的研究与设计[J].四川理工学院学报,2009,22(4):107-109.
[2]郝乐,李哲英,蒋昊.心率信号的采集与处理[J].微计算机信息,2007,23(11):2.
[3]黄晓林,宁新宝,王新龙.心跳间隔增量序列的多尺度分析及临床应用[J].北京航空航天大学学报,2009,54(17):2489-2494.
[4]徐爱钧.智能化测量控制仪表原理与设计[M].北京:北京航空航天大学出版社,1995.