论文部分内容阅读
心音检测为评估心脏和血管的功能与状态提供了低廉的非介入性的方法。第一心音的幅值是心脏收缩能力的标准度量,心音图(PCG)可以用于心力储备的研究。为此,需要消除PCG信号中的噪声,并用分段算法定位第一心音。心音信号采集过程中会引入多种噪声,而这些噪声在频域的分布并不总是与心音信号的分布分离的,故传统的频域滤波方法的使用就受到了限制。本文先介绍了主要的几种小波去噪方法,然后详细讨论了小波阈值收缩去噪方法,探讨了最影响其性能的分解尺度、阈值方法和阈值函数等问题。在对仿真信号和真实信号去噪实验的基础上,选择了适当的去噪方案。心音信号是一种非平稳的信号,而时频分析是处理这一类信号的有效方法。本文简要的介绍了常用的时频分析方法,重点介绍了S变换方法及其离散算法。通过考查几种时频分析得到的心音信号谱图和包络的性能,说明S变换是心音分析的有效方法。心音分段采用了包络阈值方法。提取包络使用了S变换方法,首先需要确定S变换的分析窗口长度。通过对比不同窗长的S变换的谱图性能和包络性能,最终确定了这一长度。然后应用心脏生理特征参数和阈值方法对第一心音进行了定位。实验表明,该方法是准确而有效的。算法部分用标准C++实现,结果的图形表示部分则用Java实现。首先设计了处理声音文件的类,然后通过正向抽取和逆向插值滤波器实现了小波阈值收缩去噪方法,利用C++标准库的算法缩短了其中中位数查找过程的时间。使用FFTW库实现S变换中的FFT和IFFT运算,提高计算S变换的性能。实现时还考虑了高精度计时和移植性等问题。