基于LabVIEW的心音信号采集与分析平台构建

2018-09-04 12:40孙科学杨雨诺周依娜成谢锋刘芫健
实验技术与管理 2018年8期
关键词:心音小波子系统

孙科学, 杨雨诺, 周依娜, 成谢锋, 刘芫健, 刘 艳,2

(1. 南京邮电大学 电子与光学工程学院, 江苏 南京 210023; 2. 信息电子技术国家级虚拟仿真实验教学中心, 江苏 南京 210023; 3. 射频集成与微组装技术国家地方联合工程实验室, 江苏 南京 210023)

近年来,在国家信息化发展战略指导下,智能信息处理技术得到快速的发展,各类专业虚拟仿真软件得到广泛应用。本文提出以江苏省电工电子实验教学示范中心为基础,结合近年来实验室改革的成果,建设国家级信息电子技术虚拟仿真实验教学中心的思路。选择心音信号采集与分析为研究课题,构建基于LabVIEW的心音信号采集与分析平台,更好地支持电子学实践创新训练,全面提高学生的实践能力、创新能力及工程应用能力。该平台可以拓展为深度学习和身份识别实验平台[1-3]。

1 设计原理和基本流程

心音信号采集与分析平台与传统听诊器、ECG和超声多普勒仪等先进的辅助诊断仪器相比,具有效果好、成本低的优势[4-6]。心音信号中包含心脏瓣膜疾病的丰富信息,在检测该类型疾病方面,心音信号有着独一无二的优势。心音信号采集与分析平台的构建,首先解决心音传感器的无线通信问题,制作无线心声检测装置,并进一步探讨心音信号的去噪、分析等方法和效果[7-8]。

基于LabVIEW的心音信号采集与分析平台能综合应用大学本科4年所学的电子信息专业主要知识,包括信号处理、数字电路设计、模拟电路设计和电子制作等课程,可检验出学生所具有的专业知识的深度和广度,与教学结合紧密。

心音采集模块采取循环结构与顺序结构相结合的设计方案。每采集一路心音信号后,要将得到的数据经过小波去噪处理,随后使用LabVIEW自带的FFT谱分析控件与功率谱控件,将心音信号的FFT谱与功率谱分别显示在计算机前面板上。在此基础上,还可以增加数据处理模块和身份识别模块进行心音身份识别系统的搭建。数据处理模块提取特征参数通过低频加强型梅尔倒谱系数和频域分段相关系数的算法完成;身份识别模块采用矢量化欧氏距离和S1、S2信号最小相关距离对采集的数据进行识别[9-11]。

在心音采集模块中,采集装置所得到的信息无需预处理,直接传输到深度学习模块即可组成深度学习研究的平台。深度学习系统可以由多层的限制玻尔兹曼机(restricted Boltzmann machine,RBM)叠加而成。系统流程如图1所示。

图1 系统流程图

2 心音采集子系统设计方案

2.1 穿戴式心音采集装置

该装置通常用轻质弹性材料形成一个“Ω”型框架组件,其形状类似人体肩到胸部的侧面外轮廓线,使该框架能够方便放置在人的左肩上,“Ω”型框架两端长度为左肩顶端到人心脏的中心位置。心音传感器安装在该“Ω”型框架的一个端头,并且该端头的长度可以调整,以保证心音传感器能够准确停留在人体心尖部位置;“Ω”型框架的另一个端头可以对称安装一个心音传感器(见图2)。这样一个采集胸部位置的心音,一个采集背部位置的心音,从而获得两路立体心音。

图2 穿戴式心音听诊器

2.2 无线心音传感器

心音是比较微弱的生理信号,频率一般为10~250 Hz,幅度各异。传统的心音测量仪器测量范围只有30~300 Hz,而20 Hz以下的低频次声仍能反映一定心力储备的生理信息。经过采样定理的计算,最终采用下限频率为8 Hz、上限频率1 000 Hz的带通滤波器。ADC的采样频率为2 kHz,精度为8 bit。串口通信的性能应大于16 000 bit/s。最终选定串口协议为:波特率11 520 bit/s,8数据位,无校验,1位停止位。

无线心音传感器大体分为空气传导式和压电式两种。经过实验比较可知:在噪声环境下,心音信号受环境噪声的干扰与采集频率成反比——采集频率越高,采集的第一心音信号(S1)与第二心音信号(S2)信号信噪比越好。这将有利于心音包络信号的提取等研究。另外,由于心音采集过程存在着采集频率与系统资源之间的矛盾,所以选择11.025 kHz作为默认采集频率。可以利用LabVIEW(Biomedical)工具包和高级数据工具处理包的Wavalet Analysis对心音信号进行滤波及小波去噪,再对心音进行截取与保存。

3 心音小波去噪子系统

小波去噪[9]的方法可分为3类:第一类是基于小波变换模极大值原理;第二类是Witkin提出的利用小波分析中不同尺度信号的空间相关去噪的思想;第三类是Donoho提出的阈值方法,是本心音信号采集与分析平台采用的方法。

小波去噪主要有3个步骤:(1)对含有噪声信号的心音进行小波变换;(2)对由小波变换得到的小波系数进行特殊处理,从而去除噪声;(3)对经过处理的小波进行逆变换,进而得到消除噪声的后的心音信号。

小波心音去噪子系统的LabVIEW程序主要由执行小波去噪事件、保存去噪后数据事件和退出心音去噪事件等3个事件结构以及结合了Matlab Script节点的小波去噪子程序构成。

在3个事件结构中,最主要的事件是执行小波去噪事件,包括打开和读取文件的系统VI、设置小波参数的条件结构以及结合Matlab Script节点的小波去噪子VI。

小波去噪子程序主要负责心音小波去噪。首先接收从调用它的主程序传来的小波参数,然后传给Matlab Script节点,由Matlab负责小波分析部分,最后再把分析后的值传至LabVIEW做进一步的处理。

心音小波去噪子系统的前面板包括原始信号波形显示器、去噪后波形显示器、小波参数设置、执行小波去噪按钮、保存去噪后数据按钮以及返回主界面按钮。

4 心音信号分析子系统

心音信号是非平稳信号。为全面了解心音信号的特性,就需要研究心率特性以及信号的时-频特性。心音信号分析子系统用虚拟仪器语言LabVIEW,结合Matlab三次样条函数插值法来实现心率的计算、提取信号的包络,并能够截取、放大任意局部包络,还能将计算心音信号的FFT幅度谱与功率谱[10]显示在前面板上提供给用户。

心音信号分析子系统前面板主要包括3部分:

(1) 执行数据分析部分:按下“执行数据分析按钮”对用户所选择的心音信号文件执行数据分析;

(2) 分析计算结果部分:显示采样频率和周期采样点,以及周期、心率等分析计算后的结果;

(3) 波形显示部分:显示分解结果,包括原始波形、FFT幅度谱、FFT功率谱密度、心音包络图和截取后波形。

4.1 心音包络图的截取与放大

利用LabVIEW实现了截取心音包络并放大显示的功能。该程序主要包括心音包络图属性节点、最大值与最小值函数、数组子集函数等。

通过移动示波器上的黄线游标和红线游标,就可以截取它们之间的任意心音包络并将其放大。为了验证心音信号分析子系统的截取功能,移动示波器上的黄色和红色的游标,分别将它们放在采样点10 000、25 000(见图3)和30 000、50 000(见图4)上,这样就可以截取它们之间的心音包络段,并在包络示波器上显示截取放大后的心音包络段。通过移动显示屏上的两个游标,该子系统能够在任意位置截取波形,并可以进行放大显示。

图3 10 000~25 000之间包络截取效果图

图4 30 000~50 000之间包络截取效果图

4.2 周期及心率的计算

心率测量可以根据心音图测定。心率F是指心音图两个相邻R波的时间间隔(R-R间期)的倒数,即:

式中,T是R-R间期(s),平均心率F′是在一定计数时间内,R波个数和计数时间的比值,即:

(次/min)

式中,T是计数时间(min),N是R波个数。

用LabVIEW提供的函数可以求出几个心音信号的参数R-R波的峰值、S波的谷值、心音信号的幅值、心动周期及心率。

选择采样频率为11 025 Hz的两个人的心音包络分别进行计算,结果如图5所示。可以看出:两个人的心动周期分别为0.867 09 s和0.878 33 s,心率分别为69.196 5 次/min和68.310 9 次/min。正常人的心率为60~100 次/min,所以两个人心率均为正常值。

图5 分析两个不同人的心率结果图

4.3 频域分析

频域分析部分主要包括计算信号的FFT频谱以及信号的功率谱密度函数。

由于本心音信号采集与分析平台的设计思路是每路心音信号采集后即对心音信号进行分析,所以本段仅对1路心音信号的数据分析进行阐述,其他3路心音信号与此类似,不再赘述。

经过心音采集模块采集后的心音信号首先被送入小波去噪模块进行降噪处理。降噪处理后的心音信号以一维数组的形式被送入LabVIEW自带的FFT频谱函数节点控件进行FFT谱分析,分析结果也以一维数组的形式在波形图中显示。FFT谱分析控件计算时域信号的平均FFT频谱,以幅度和相位返回FFT值。与之类似,由LabVIEW所提供的FFT功率谱控件对降噪处理后的心音信号做FFT功率谱分析,结果也以一维数组的形式在波形图中显示。

FFT功率谱VI按照下列步骤计算时间信号的平均功率谱:

(1) 计算时间信号的FFT;

(2) 将当前的功率谱与上次平均过程重新开始后的最后一次调用VI的功率谱进行平均;

(3) 在功率谱中返回平均功率谱。

图6为对一个采样频率为11 025 Hz的心音信号进行FFT幅度谱及FFT功率谱计算的结果图。

图6 心音信号的FFT幅度谱及功率谱图

从FFT功率谱图中我们可以看到,心音信号主要集中在0~100 Hz,功率主要集中在0~60 Hz,在20 Hz附近最强。

5 心音身份识别模块和深度学习模块

以LabVIEW为平台,结合Matlab设计了一种心音身份识别系统。该模块在前文采集模块的基础上添加数据处理模块和身份识别模块。数据处理模块完成心音特征提取和建立心音特征数据库;身份识别模块采用两种算法对心音特征数据进行分类识别,并使用决策层融合算法提高识别正确率。

心音信号的特征参数提取是心音身份识别的关键,可采用低频加强型梅尔倒谱系数和频域分段相关系数来实现。梅尔频率倒谱系数(Mel frequency cepstral coefficients,MFCC)是基于人耳听觉特点而提出的,是目前使用非常广泛的提取语音特征参数的方法之一。

心音信号的频率分布特点(S1信号:40~150 Hz,S2信号:50~200 Hz)决定了频域分析在识别上的重要性。S1、S2信号的频谱是比较稳定的,不同个体的特征差异明显,选择合适的区间段进行相关性分析以求出相关系数,其绝对值大小与相关性成正比。经验证,在30~80 Hz和50~110 Hz频率段计算S1和S2的相关系数,可以得到最佳区分度。身份识别模块采用2种算法进行分类识别[11]:一种是基于矢量化欧式距离识别,一种是最小相关距离识别,最后通过决策层融合算法处理。

深度学习网络由若干RBM叠加组成,每一层RBM的输出即为其高一层RBM的输入,任意RBM的输出和权值的调整仅与其输入有关;深度学习网络可以与分类器进行组合,现在组合效果较为理想的是与BP(backpropagation)神经网络结合。BP神经网络所采用的有监督的训练方法,有助于深度学习网络更好的运行。

6 结语

利用LabVIEW语言作为开发工具,结合Matlab小波工具箱以及Matlab的计算能力开发的心音信号采集与分析平台,综合了模拟电路设计、数字电路设计、电子制作以及信号处理等内容。学生可在这个平台上结合电子技术软、硬件知识进行二次开发,强化系统的功能、体验创新的乐趣,可以在身份识别和深度学习方面进一步优化处理,使该平台更加完善和实用。

猜你喜欢
心音小波子系统
不对中转子系统耦合动力学特性研究
构造Daubechies小波的一些注记
GSM-R基站子系统同步方案研究
基于MATLAB的小波降噪研究
驼峰测长设备在线监测子系统的设计与应用
基于双阈值的心音快速分段算法及其应用研究
双声道心音能量熵比的提取与识别研究
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断
基于香农熵的心音信号检测方法研究
基于FPGA小波变换核的设计