基于LabVIEW的心音信号检测系统设计
扫描二维码
随时随地手机看文章
心音信号是人体最重要的生理信号之一,含有关于心脏各个部分如心房、心室、大血管、心血管及各个瓣膜功能状态的大量病理信息,是心脏及大血管机械运动状况的反映,具有非线性、非平稳的特点[1-2]。心音来自于人体内部,不容易被复制或模仿,同时还具有独特性,个体的不同,心音信号的表现形式也不相同。对其进行检测分析,可以达到对身份进行识别和验证的目的[3]。此外,通过听取心音,也可以获得用以判断心脏疾病的相关信息[4]。
本文设计、实现一套心音信号采集与分析系统,并研究利用心音进行被测试者的身份识别。因为传统的密码、口令等验证方法存在容易被忘记或破解的缺陷,而利用人体生物特征进行身份识别具有独特的优势,如指纹、虹膜、手形和面部特征等识别技术已经较为成熟,相关产品已经进入市场。但是利用人体生理信号,如心音、脉搏等,进行身份识别的研究才刚刚兴起,有着很大的研究价值和发展空间。随着计算机技术的迅速发展,基于单片机、DSP等核心控制器采集心音信号,利用PC机进行定量分析,已成为心音检测系统的研究趋势[5-6]。因此,本系统利用STC12C5A单片机采集HKY-06B型 PVDF薄膜式心音传感器输出的心音信号,并通过RS232总线发送到上位机,实现了检测终端与上位机之间的数据通信,同时在上位机采用虚拟仪器软件LabVIEW设计开发了一套集数据管理、采集和分析于一体的虚拟心音检测系统。
1 系统设计
系统的硬件结构框图如图1所示,包括以下几个部分:(1)心音传感器模块。能将心脏搏动信号转化为低阻抗音频信号;(2)信号预处理模块。负责对微弱的心音信号进行前置放大、低通滤波、高通滤波和功率放大;(3)单片机模块。负责将预处理后的心音信号进行A/D采样以及通过键盘执行数据存储、液晶显示等功能;(4)串口通信模块。负责与上位机进行数据通信;(5)电源模块。为系统提供+5 V和+12 V电源。
2 硬件设计
2.1 心音传感器
HKY-06B型心音传感器采用新型高分子聚合材料微音传感元件采集心脏搏动和其他体表动脉搏动信号,再经过高度集成化信号处理电路处理,输出低阻抗音频信号。其具有集成度高、可靠性高、灵敏度高、过载能力强、体积小和使用寿命长等特点。其典型的供电电压为5 V,频率响应在1 Hz~1 500 Hz,灵敏度为4 mV/Pa。
2.2 信号预处理
在利用单片机对传感器输出的音频信号进行A/D转换之前,需要对信号进行预处理,主要包括前置放大、低通滤波、高通滤波和功率放大4个电路。
前置放大电路如图2所示,采用NPN型硅晶体三极管3DG6,其偏置电路采用R15、R5和R8组成的分压电路,并在发射极接有电阻R17,以稳定放大器的静态工作点。当在放大器的输入端加入输入信号时,放大器的输出端便可得到一个与输入信号相位相反、幅值放大的信号。
采用运算放大器OP07 设计一个由源低通滤波电路和有源高通滤波电路组合而成的带通滤波电路。图3 所示是截止频率f=5 kHz 时的四阶巴特沃斯低通滤波器。该滤波电路转移函数为:
图5所示为OTL低频功率放大器,其由晶体三极管Q4组成推动级,Q1、Q2是一对参数对称的NPN和PNP型晶体三极管。Q4管工作于甲类状态,它的集电极电流由电位器R6进行调节,该电流的一部分流经电位器R4及二极管D2,给Q1、Q2提供偏压。调节R4,可以使Q1、Q2得到合适的静态电流而工作于甲、乙类状态,以克服交越失真。静态时要求输出端中点(Q1、Q2的发射极)的电位U=2.5 V,可以通过调节R6来实现。又由于R6的一端接在输出端中点,因此,在电路中引入交直流电压并联负反馈,一方面能够稳定放大器的静态工作点,同时也改善了非线性失真。功率放大电路中用到了3DG6、3DG12和3CG12双极结型三极管(BJT)。
2.3 单片机模块
根据心音信号的特点以及系统性价比的要求,结合STC系列单片机的性能特点,采用STC12C5A作为核心控制器,负责将预处理后的信号进行A/D转换、数据存储、液晶显示和串口通信等。STC12C5A单片机是高速、低功耗、超强抗干扰的新一代8051单片机,其指令代码完全兼容传统8051,但速度快8倍,并且自带8路高速10 bit A/D转换,完全可以满足心音检测系统的要求。
3 软件设计
检测系统的软件包括单片机软件和上位机软件两部分。
3.1 单片机软件设计
单片机软件采用模块化设计思想,主要包括:主程序、键盘子程序、液晶显示子程序、RS232通信子程序、数据存储子程序、A/D转换子程序等。主程序流程图如图6所示,首先对整个系统进行初始化设置,使系统正常工作,再执行按键扫描程序,根据扫描得到的键值,进入不同的服务子程序。其中比较重要的还有A/D中断子程序,其应用公式Vin=(Vcc×D)/256将采集到16进制ADC转换数据的电压值转变为4位10进制电压数据。
3.2 上位机软件设计
上位机软件主要是与单片机进行通信,实时采集并发送心音数据,为进一步的分析提供一个良好的人机交互平台。虚拟仪器软件LabVIEW前面板采用交互式图形化用户界面,程序框图采用G语言编程,可以用来设计虚拟心音检测平台[7-8]。本系统采用模块化设计思想,主要包括数据管理、数据采集、数据回放、数据分析和报表打印模块等。由于模块较多,在一个面板上很难显示出所有内容,一般可以通过Tab Control控件进行分页显示,但如果前面板控件过多,程序框图必然繁乱,因此本系统采用多面板方式。
管理模块采用免费并开源的数据库访问包LabSQL,实现被测试者信息的录入、查询、修改和删除等功能。数据采集模块利用虚拟仪器软件架构VISA,打开、设置计算机的串口实现与下位机间的RS232通信,但要注意要设置一样的波特率、数据位、奇偶校验位等。数据分析模块主要完成小波包去噪、特征提取和模式识别等处理功能。
4 实验结果
利用本系统对三位被测试者分别采集20组信号,总共60组信号进行分析。首先采用小波包变换去除噪声,进行小波包能量特征提取,得到小波包分解的第三层8个系数的能量特征值;然后将前5个能量特征值组合成特征向量,并对应不同测试者样本附上1、2和3的标签;最后随机选取50个样本训练SVM识别模型,并利用遗传算法(GA)优化SVM的参数c和g,剩下的10个样本作为测试数据,进行10次实验,求取平均识别率。仿真结果表明,WPT+GA-SVM平均识别率为85%。
对于GA-SVM分类模型,GA的参数选择为种群规模为20、进化次数为50次、交叉概率为0.4、变异概率为0.2。GA优化SVM时适应度变化曲线如图7所示。表1给出了其中一次实验的10个测试样本的特征向量、预测标签和实际标签。
由表1可见,10个测试样本仅编号9的样本被误判,其余都正确分类,识别率达90%。测试结果的识别率未能达到100%的原因及措施:(1)样本数量较少。需要建立一个心音数据库;(2)采集过程中的噪声对最后的识别率有一定的影响。但预处理电路去噪还有改进的空间,软件去噪值得继续深入研究;(3)特征提取和模式识别都至关重要,因此还需要进一步挖掘优化算法。
本文从硬件和软件两个方面提出了一个基于STC单片机和LabVIEW的心音信号检测系统,通过心音身份识别实验表明,信号调理电路设计的好坏决定了系统能否可靠、稳定地运行。本文所设计的硬件系统具有开发周期短、性价比高的特点,单片机软件采用模块化设计,调试方便,上位机软件界面友好、操作简便、功能强大。