1. 引言
先天性心脏病(Congenital Heart Disease,以下简称先心病)是在胎儿发育期间形成的心脏结构或功能异常,是最常见的先天性缺陷 [1] 。在我国,尤其是在医疗资源相对匮乏的地区,患有先心病的新生儿往往因为医疗资源不足,难以及时得到治疗 [2] 。根据《2022中国卫生健康统计年鉴》的数据,2021年我国城市和农村居民的先心病死亡率为1.25 (1/10万),这一数据凸显了早期筛查的迫切需求 [3] 。
以往的研究已经表明,使用心音听诊结合经皮血氧饱和度测定的方法在新生儿先心病的临床筛查中具有明显优势 [4] ,其中心音信号包含了大量的心脏生理、病理性信息,医生可以通过听诊识别出心音的正常或异常现象,从而诊断心血管疾病。因此,如何准确识别异常心音成为了先心病筛查的关键问题。
当前,国内外学者在心音信号处理领域主要集中在信号预处理、特征提取和分类识别三个方面。其中,心音信号预处理包括信号降噪和心音定位,目前有滤波器,经验模态分解 [5] ,小波变换 [6] 等方法进行降噪,采用希尔伯特–黄变换 [7] ,小波变换,隐半马尔科夫模型 [8] 等方法分割定位心音;而在特征提取阶段,可以从时频、谱熵等角度分析心音信号,比如通过梅尔频率倒谱系数(MFCC) [9] ,线性预测倒谱系数(LPCC) [10] 等方法提取特征向量;此外,分类识别阶段采用了卷积神经网络(CNN)、支持向量机(SVM)和随机森林(RF)等机器学习方法进行心音信号的分类。根据上述研究方法,许多学者设计了有关心音采集分类的仪器,例如,单煦等人 [11] 设计了一种基于Labview和USB-4432采集板卡的多通道心音信号采集设备,用于四通道心音信号的采集和分类计算,对异常心音信号的识别率可达92.5%。芦夜召等人 [12] 基于FPGA和DSP设计的多导联心电心音信号同步智能听诊器,系统利用现场可编程逻辑器件的优点,实现了心电心音的同步实时采集和显示,为心电心音信号相关性研究提供了重要实现依据。Huai等 [13] 使用灰度图像处理思路,将心音信号转换成二维灰度图像信息,训练和优化CNN模型,实验结果显示该模型训练准确率为95.17%,测试结果为94.80%,与传统方法相比,在该模型下取得更高的准确性,进一步证明深度学习在心音分类识别中有着出色表现。
从上述国内外研究现状来看,目前大部分技术研究仍处于实验阶段,临床推广应用面临一系列挑战,主要表现为软硬件集成度不高、操作复杂、精度不足等问题。为了更加精确地筛查先心病,仍需对现有方法进行进一步优化,提高信号处理的效率和准确性。为此,本研究旨在设计一种快速、准确、便携的筛查仪器,以期为先心病的早期诊断提供可靠的技术支持。
2. 系统框架
整个系统的框图如图1所示,该系统框架结合了先进的传感器技术和数据分析算法,为医务人员提供了一个可靠的工具,以在早期发现和诊断心脏异常,从而提高患儿的生存率和生活质量。具体各部分功能描述如下:
1) 电源管理:采用双电源供电设计,内部搭载可充式锂电池组,满足仪器的便携需求。
2) 四通道心音信号采集模块:该模块配备多个高灵敏度麦克风传感器,分别放置在心脏的四个主要听诊区,用于捕捉心音信号。这种多通道设计保证了对心音信号全面准确的捕捉。
3) 心电信号采集模块:该模块用于同步记录患者的心电信号,并利用心电信号来精确定位心音信号的不同心动周期。
4) 血氧检测模块:用于监测患者的血氧饱和度。通过皮肤表面的传感器,系统能够实时测量经皮血氧饱和度,从而评估心脏功能和氧气供应情况。
5) 主控芯片:采用FPGA作为主控芯片,所有采集到的心音、心电和血氧信号都会传输到该芯片中。FPGA的高性能和并发性确保了信号的高效处理和快速响应。
6) 音频输出:提供心音音频输出功能,方便医生进行复筛和确认,进一步提高了诊断的准确性。
7) 上位机部分:所有采集的数据都会通过网口实时上传到上位机,这里提供2个版本,一是仪器自带的电容触摸屏,内置Ubuntu16.0操作系统;二是直接连接电脑主机,支持Window10。上位机由QT编写,完成心电信号的波形识别,心音降噪和分割,特征提取,和分类识别等功能。方便不同场景下的应用。
3. 硬件设计
3.1. 心音听诊器设计
心音传感器的选择对于心音听诊器的性能起到关键作用,特别是在需要捕捉新生儿微弱心音的场景中。为确保传感器能准确地捕捉到心音信号,其必须具备高灵敏度和宽频响的特性。在各种可选传感器中,麦克风因其对振动信号的高灵敏度而受到广泛关注。对于心音信号,其异常频率可能达到1.5 kHz,因此选择的传感器应能覆盖这一频率范围。基于这一需求,我们选择了TDK公司生产的ICS-40300型号传感器。该传感器的频率响应范围为6 Hz~20 Khz,能够覆盖心音信号的全部频率范围。此外,其灵敏度达到−45 dBV,保证了对微弱信号的有效捕捉。本文使用TDK公司生产的ICS-40300 型号传感器,频率响应范围可从6 Hz~20 Khz,灵敏度可以达到−45 dBV,符合心音信号的频率要求。传感器三维模型如图2(a)所示,电路地板如图2(b)所示。
(a) 传感器模型(b) 电路底板
Figure 2. Sensor model and floor circuit
图2. 传感器模型和电路底板
听诊头的设计参考医用听诊器,图3是单路的心音听诊头,由膜腔,管道,外壳组成,在保证拾音效果的同时,内部填充的隔音材料可以有效隔绝外来声音的干扰 [14] 。
3.2. 四通道心音调理电路
心音信号通常具有较低的振幅,因此不利于直接对其进行处理。为了提高信号的可检测性和分析的准确性,一个关键的步骤是对其进行放大处理。本研究中,所选择的是ADA4897放大器来构建同相放大电路。值得注意的是,ICS-40300传感器的输出存在0.8 V的直流偏置。为消除这一偏置,我们在同相端前端引入了电容耦合。异常心音信号在频率上可能达到1.5 kHz。为了确保对这类宽频带信号进行高效且准确的处理,我们设计了一个三阶巴特沃兹滤波器。该滤波器的截止频率被设定为5 kHz。这样的设置旨在滤除可能存在的高频噪声,同时确保在通带内的信号保持其原有的完整性。为了进一步保证信号的质量,我们特别注意确保在通带2 kHz以内,滤波器不引入任何纹波。这有助于维持信号的准确性和稳定性,从而为后续的分析提供高质量的输入。为了更全面准确地捕捉心音信号,本文设计了一个四通道心音调理电路系统,如图4所示。每个通道都采用了相同的心音调理电路,采集心脏不同听诊区的心音信号,从而为后续的分析和对比提供了更为丰富的数据源。
3.3. 心电调理电路
为了实现高精度的心电信号采集,本文采用了高性能的AD8422来搭建差分放大电路。AD8422的选择基于其卓越的低噪声性能和高精度直流特性,这些因素都是在心电信号采集中至关重要的。这保证了对心电信号的稳定和准确采集,减小了可能的误差和噪声引入。
为了进一步优化电路性能,我们使用OP2177搭建了反向放大器来构建右腿驱动电路。这种设计有助于减少共模干扰,即通过将腿部信号反向放大并输入到AD8422,可以实现快速放电。这不仅提高了共模抑制,还确保了对心电信号的准确采集。为了确保新生儿的安全,我们在OP2177的输出端加入了499 kΩ的电阻,以限制驱动到人体的电流。驱动电路如图5所示,配置的增益为14。
电路的下一阶段是一个0.033 Hz的高通滤波器,目的是消除电极间可能产生的直流偏置。接下来使用AD8618搭建了一个有源五阶低通贝塞尔滤波器。这个滤波器设计用于滤除大于160 Hz的信号,同时对心电信号再进行50倍的放大。这两个滤波阶段共同构成了一个窗口滤波器,其目的是只保留心电信号所在的频域,确保其他频率范围的噪声和干扰被有效滤除。电路如图6所示。
3.4. 血氧检测模块
血氧检测在本研究中采用了低功耗的MAX30102模块 [10] ,如图7所示。MAX30102是一个高度集成的解决方案,设计用于非侵入式地检测血氧饱和度和心率。该模块的核心组件包括红光LED、红外光LED、光电检测器以及一个具备环境光抑制功能的低噪声电子电路。这些组件共同工作,确保在各种环境条件下都可以获得高质量的信号。当进行血氧检测时,两种LEDs(红光和红外光)透过手指照射血管。血液中的氧合血红蛋白和脱氧血红蛋白对这两种光有不同的吸收特性,这使得我们可以通过分析反射回来的光的变化来计算血氧饱和度。光电检测器则负责检测这些反射光,并将其转化为电信号。这些信号经过模块内部的电路处理后,将生成血氧饱和度数据和心率数据。这些数据具有高度的准确性,并可以通过IIC接口传输给主控,为后续的分析和显示提供了基础。
3.5. 音频功率放大电路
本文使用低功耗音频放大器MC34119作为心音信号音频输出功率转换器 [15] ,其电路原理如图8所示。MC34119支持差分输入,且差分增益可通过外部电阻进行调节,因此具有高度的适应性和可调性。

Figure 8. Audio power amplifier circuit
图8. 音频功率放大电路
3.6. ADC采集电路
本文选用了ADI公司的AD7606多通道同步模数转换芯片采集心音心电信号。AD7606具备多个优点,包括8通道16位同步采样能力,每通道最高采样率可达200 ksps,而且这些通道相互独立,满足多通道同步采集心音心电的要求。信号采集板如图9所示,采集到的数据会通过SPI接口传输至主控FPAG中进一步处理。
4. 软件设计
4.1. 数字降噪方法设计
心电和心音信号都属于微弱的人体生理信号,在采集过程中受到多种干扰因素的影响,包括肌电干扰、基线漂移、工频干扰、环境噪音,以及新生儿不太容易配合等问题 [16] 。因此,为了提高信号的信噪比,必须对采集到的原始信号进行精确的降噪处理。本文同步采集心电和心音信号的目的是利用心电波形来精确分割心音周期。因此,在处理心电信号时,降噪的主要目标是满足波形识别的需求,而心音信号作为筛查先心病的关键依据,处理时对精度要求更高。
采集的心电信号如图10(a)所示,可以明显看出存在基线漂移。这种漂移属于低频噪声信号,其频率范围在0.05~1 Hz之间。为了解决基线漂移现象,本文采用了IIR高通滤波器,以滤除1 Hz以下的信号,结果如图11(a)所示。心电信号的频率通常不超过100 Hz,因此我们接着应用了一个低通滤波器,以去除采集时引入的高频噪声。同时对原始信号进行了FFT分析,得到的频谱如图10(b)所示。可以观察到50 Hz附近存在工频干扰,并且在100 Hz附近还存在其谐波。因此,为了进一步提高信噪比,本文采用了陷波器来去除50 Hz的工频干扰以及其谐波,效果如图11(b)所示。至此,经过降噪后的心电信号可以明显看到QRS波。
(a) 原始心电信号(b) 原始心电信号的频谱
Figure 10. The time-domain and frequency-domain characteristics of the original ECG
图10. 原始心电信号的时域和频域
(a) 消除基线漂移 (b) 消除工频干扰
Figure 11. The signal after baseline drift removal and power line interference elimination
图11. 消除基线漂移和消除工频干扰后的信号
采集的心音信号如图12(a)所示,对其做FFT,得到频谱如图12(b)所示,可以看到存在工频干扰,除了基频50 Hz,还带有它的谐波,因此级联陷波器来滤除工频干扰。
为了近一步提高心音信号的信噪比,本文采用小波变换对心音信号进一步去噪 [17] 。去噪流程如图13所示。
小波基选择coif5小波,分解层数为5层,考虑到心音信号是语音信号,为了避免出现语音失真的情况,本文在非负死区阈值函数的基础上设计了一种适合心音信号的阈值函数,其公式如下:
(a) 原始心音信号 (b) 原始心音信号的频谱
Figure 12. The time-domain and frequency-domain characteristics of the original PCG
图12. 原始心音信号的时域和频域
(1)
其中,
,
是小波系数,
是阈值,选用自适应阈值,其公式如下:
(2)
其中,
为小波系数的个数,
为噪声信号的标准差。
降噪效果如图14所示。
4.2. 心音分割
每个心动周期包含第一心音(S1)、收缩期(Systole)、第二心音(S2)、舒张期(Diastole) 4个心音成分 [18] 。先心病的主要病理信息包含在第一心音(S1)到第二心音(S2)时间片段内,因此为了更好的提取心音特征,需要分割第一心音和第二心音。目前的研究主要依赖于分析心音信号本身的特征,然而,这些算法通常较为复杂,不太适合嵌入式系统的部署。为解决这一问题,本文采用了高精度的采集电路,实现了心音和心电的同步采集。这样,既可以利用心电分割心音,同时采集的心电数据又为未来的研究提供了拓展的可能性。
心音与心电的波形对照图如图15所示,第一心音出现在心电QRS波开始后20~40 ms后,大概持续100~135 ms左右;第二心音出现在心电T波终末端,大概持续80~120 ms左右。因此,只要定位心电波形,就可以分割心音。
本文通过几何学特征来识别心电波形,主要依据波形变化趋势来判断 [19] 。这里使用公式(3)获取每个点的趋势斜率:
(3)
其中,
为点m的坐标,通常这里的m点是从心电数据中二次求导得到的极值点;
,通常情况下取m点后5个点(
)来判断m点的变化趋势。
设
为m点的趋势,根据数学几何,给出判断点m趋势的依据如下:
1) 上升趋势:这5个点与m点连线的斜率至少有3个大于0,记
;
2) 下降趋势:这5个点与m点连线的斜率至少有3个小于0,记
;
3) 水平趋势:除去上升趋和下降趋势的情况,剩余的情况可以被判定为水平趋势,记
;
4) 首先定位R波峰,R波是心电波形中最明显的一个波形,通常是整个波形的最高点或最低点,下面以R波峰为最高点进行说明。用门限阈值提取包含R波峰的极值点,其阈值公式为
(4)
根据多次实验数据,当
时,识别率最佳。同时排除误检,如果相邻两个极大值间距小于400 ms,则去掉幅度较小的一个。对筛选的极值点,根据趋势斜率公式,R波峰所在的点m应该满足以下条件:
(5)
1) 在R波前0.1 s,逆序寻找第一个满足下降趋势的极小值点即为Q波的顶点。
2) 在R波后0.1 s,顺序寻找第一个满足下降趋势的极大值点即为S波的顶点。
3) 在S波后,顺序寻找第一个大于T波阈值(公式4中
)且满足下降趋势的极大值即为T波的顶点。
4) 在T波顶点后的0.1 s内寻找第一个满足上升趋势或水平趋势的极小值点即为T波的终点。
综上,根据同步采集的心电波形可以分割心音,提取需要的病理信息。
4.3. 基于MFCC和GFCC的动态特征提取
MFCC是一种在语音信号处理中广泛使用的特征提取方法 [20] ,用于捕捉声音频谱特性,但该特征在噪声较多的环境下识别效果较弱,考虑到新生儿这一特殊群体,在采集过程中不可避免会引入诸多噪声,并且仅使用单一的特征也不能全面表征心音信号。为了解决这一问题,本文将MFCC与GFCC提取的特征组合,同时考虑到MFCC和GFCC提取的是静态特征,再对提取的特征系数做一阶差分得到动态特征,将这四组特征向量归一化后,融合成混合特征,具体步骤如图16所示:

Figure 16. Schematic diagram of the fusion feature extraction steps
图16. 融合特征提取步骤示意图
其中,动态提取的公式如式(6):
(6)
式中,
,
是心音信号的MFCC和GFCC对应的特征参数序列。
特征向量的融合公式如下:
(7)
4.4. 基于卷积神经网络的分类模型
卷积神经网络结构如图17所示,由4层卷积块和最后的输出层组成。输入数据为小节3.3提取的特征矩阵,卷积层中滤波器个数为64,向后依次是32、16、16,各层池化层均采用最大值池化,第4层卷积层通过激活函数直接与全连接层相连,使用Softmax分类器实现最终分类结果输出。

Figure 18. Confusion matrix of PCG classification recognition model
图18. 心音分类识别模型混淆矩阵
训练模型的数据由新华医院提供的心音数据库,包括动脉导管未闭、房间隔缺损、房间隔缺损 + 室间隔缺损 + 肺动脉瓣狭窄、房间隔缺缺 + 室间隔损缺、肺动脉瓣狭窄、分动脉瓣狭窄、室间隔缺损以及室缺 + 主动脉瓣狭窄等类型数据。以3段心动周期为1组样本,总计20,000组,其中正常样本10,000个,异常样本10,000个,其中75%做训练组,25%做测试组。测试结果如图18所示。
测试中,正常心音正确识别数为2411条,被错误识别数为89条;异常心音被正确识别数为2424条,被错误识别数为76条,模型的准确率为96.7%,灵敏度为96.96%,特异度为96.44%。
4.5. 模型对比与分析
为了进一步比较不同的特征提取方法对分类结果的影响,将FMCC,GMCC,FMCC + ΔFMCC和GMCC + ΔGMCC,分别作为特征向量放入CNN中,得到表1的分类结果。

Table 1. Effect of feature extraction method on recognition rate
表1. 特征提取方法对识别率的影响
从表1的数据可以明显看出,混合特征的效果明显优于单一特征。以准确率为例,单独使用MFCC的静态特征的识别准确率相比加入动态特征的情况下低了2.88%。而采用了MFCC和GFCC混合特征的提取方法,准确率相较于单一特征提取分别提高了4.56%和9.76%。由此可见,本文提出的基于MFCC和GFCC的动态特征提取方法能更好地表征心音信号,显著提高了模型的识别准确率。
5. 结论
在本研究中,我们设计并开发了一款为新生儿群体定制的先心病筛查工具。这款设备的核心目标是提前识别并诊断新生儿中的先天性心脏疾病,从而确保患者得到迅速且有效的医疗干预。经过严格的实验验证,该工具不仅操作简便,而且准确率较高,为医生在先心病的早期诊断上提供了有效的支持。展望未来,我们寻求对当前模型进行更为深入的完善,希望能够对各个听诊区的特定病理特征进行更精确的识别。此外,我们也计划创建一个综合性的多通道心音心电数据库,为进一步的研究与创新提供宝贵的数据支撑。