葛君怡,李 霞,杨 昊
(中国计量大学 信息工程学院,浙江 杭州 310000)
脉搏波是由人体心脏搏动向血管外周扩张时传播形成,作为重要的生理信号,在目前临床上被广泛应用,包含着大量的人体病理信息。脉搏波信号的特征点提取可用于连续的血压估计、血氧饱和度监测、动脉僵硬度评估等一系列心血管疾病的诊断和预防。随着传感器技术和无线通信模块的快速发展,人们越来越倾向于使用可穿戴设备实时、灵活地监测自身健康状况。但采集脉搏波信号时极易受到外界各类噪声的干扰,比如硬件采集端的工频干扰、电磁干扰等导致的高频噪声(0.005~100 Hz),人体生理活动导致的低频基线漂移噪声(0.15~0.3 Hz)以及运动干扰等,将影响基于脉搏波的临床应用评估性能。
目前,用于脉搏波信号降噪的方法有自适应滤波去噪[1]、傅里叶变换、独立分量分析等传统方法,这些方法容易同时剔除噪声信号和部分原始信号;小波阈值去噪法[2]近几年被大量学者广泛研究和应用,但其去噪过程中的分解层数、小波基函数、合适阈值的选取和确定较为困难;双密度小波变换[3]的平移性基本保持不变,同时拥有较好的重构性和有限的冗余性;双密度双树小波变换[4]在前者基础上衍生去噪算法,同时具有双密度小波和双树小波的优点,在二维图像的融合和信号去噪两方面有着良好的应用价值。本文在研究和分析了现有的脉搏波信号去噪算法的基础上,创新性地尝试将双密度双树小波变换和插值法结合使用,并与小波阈值法进行比较,结果表明,本文方法在很好地滤除噪声的同时,可以更好地保留原始信号的特征点信息,计算过程简单实用,便于后期信号的进一步分析。
美国学者Selesnick 于2004 年在双密度小波和双树复小波的基础上,提出二者结合后的双密度双树小波概念,作为第三代小波变换,同时拥有上述两者的属性。它包含φh(t),φg(t)两个不同的尺度函数和四个小波函数ψh,i(t),ψg,i(t)(i=1,2),其 中,ψh,1(t),ψh,2(t) 和ψg,1(t),ψg,2(t)两两小波函数之间相互偏移半个单位:
这使得双密度双树小波在保证延续了小波变换优点的同时,还能利用其中两个小波函数ψh,1(t),ψh,2(t)构成近似的Hilbert 变换对ψg,1(t),ψg,2(t):
如图1 所示的滤波器组结构由两个并行操作的过采样迭代滤波器组——共3 个Hilbert 滤波器对组成。参数i=0,1,2,hi(n)为滤波器组1 中的滤波器,gi(n)为滤波器组2 中的滤波器,每一滤波器组中的合成滤波器由分解滤波器进行时间翻转得到。其中i=0 时,对应的h0(n),g0(n)为低通滤波器;i=1 时,对应的h1(n),g1(n)为一阶高通滤波器;i=2 时,对应的h2(n),g2(n)为二阶高通滤波器。
图1 DD⁃DT DWT 滤波器组
滤波器组1(上部树组)中的hi(n)和滤波器组2(下部树组)中gi(n)的子带信号可以分别作为双树复数小波变换的实部和虚部。变换过程中,两个滤波器组同时对输入数据进行滤波的采样迭代,再通过滤波器组1 中的叠加滤波器和滤波器组2 中的叠加滤波器系数进行组合。实部和虚部滤波器之间的采样间隔延迟,恰好保证了虚部抽取采样时刚好采到实部抽取采样中被丢掉的采样点,避免平移不变性的不敏感问题。
原始信号经过双密度双树小波变换分解后可得到其小波系数,然后通过相应的阈值函数进行处理。
选择合适的阈值函数,当原始信号低于阈值时,认为是噪声信号,高于阈值时则认为是真实信号。经过处理后的小波系数对其进行逆变换,就可以重构出去噪后的信号。
软阈值和硬阈值法是目前阶段最常用的两种阈值函数,本文选用软阈值法,其推理函数如下:
式中:变量T代表设置的阈值;s代表被处理后的小波系数;x代表原始未处理的小波系数。确定阈值函数之后,将设置具体阈值数。阈值设置过小会无法彻底去除噪声;阈值设置过大,会在处理时删除原始信号的部分细节。常用的阈值主要有四种:启发式阈值、Stein(无偏风险阈值)、极大极小阈值和固定阈值。本文选用启发式阈值。
启发式阈值将Stein 和固定阈值进行结合,计算参数θ=,参数对比后选择最优阈值,阈值设置公式为:
当θ<μ时,使用固定阈值,其设置公式为:
式中:变量σ为预估噪声方差;变量N为原始信号数据长度。
使用Stein 无风险阈值时,对某一层小波系数取平方,从小到大排列得到序列W:
再计算每一个元素产生的风险值,例如第g个元素:
找到该层小波系数并通过计算得到风险值的最小值,得到相对应ωb,最后阈值设置为T=。Matlab带有三种对阈值的调整方式:mln 表示上述阈值各尺度下估算的标准差之积;one 代表噪声方差不需要调整处理;sln 表示上述阈值分别乘以由第一层小波系数估计而来的方差。本文选用sln 方法进行调整。
目前较为常用的去除基线漂移的方法主要包括:形态学滤波法[5]、平滑滤波法[6]、经验模态分解法[7]、小波变换法[8]等,这些方法都各自存在优缺点。形态学通过原始信号进行开闭运算和膨胀腐蚀运算得到基线信号;平滑滤波法由于利用波形和噪声的频谱差别滤除噪声,易造成波形失真;经验模态分解法存在混叠效应,无法满足实时处理脉搏波信号的需求;小波变换法则计算量较大并且各项参数确定较为复杂。样条插值法[9]作为一种经典的拟合方法,运算简单,本文使用三次样条插值法对去除高频噪声后的信号去除基线漂移,仿真结果显示该方法去除效果显著。
三次样条插值实际上是对给定数据集进行分段的多项式插值,将n个数据点分段后在每一段相邻的两点之间构建三次多项式进行拟合运算。假设有区间[a,b],区间内有xn个数据点满足a=x0 式中Si(x)为区间[xi,xi+1]上的三次多项式: 式中4 个待定系数a,b,c,d的确定需要引入边界条件,一般默认为非扭结边界样条函数,即数据段两端点的三阶导等于这两端点邻近点的三阶导,也就是令插值第一段的三次项系数等于第二段的三次项系数,以此类推,并在每一段的连接处需满足: 保证了节点处的连续性以及求导后的光滑性。 实验选取7 名年龄在22~28 岁之间的测试者,无心血管疾病史,测试者处于静坐或慢走状态,室温下用自制采集装置采集耳垂脉搏波信号。信号采样频率为100 Hz,共测得有效原始数据28 组。自制设备采用MAX30102 反射式传感器,具有红光LED 和红外LED 双光源,交替射出660 nm 红光和880 nm 红外光。选取其中采集的3 段脉搏波信号,如图2 所示,可以看出3 段信号都存在明显的高频噪声和基线漂移。 图2 原始脉搏波信号 选取测试者4 的脉搏波信号,对本文提出的算法进行验证分析。选取测试者4 的原始脉搏波信号进行双密度双树小波三层分解变换,分解信号后得到高频和低频系数,使用启发式阈值处理得到的高频系数,保留低频系数不变,得到小波系数后,对其进行逆变换得到重构信号,如图3 所示即为截取的部分测试者4 原始脉搏波信号和去除高频噪声后的脉搏波信号。 为进一步验证实验效果,再选用db6 小波同样对测试者4 原始信号做三层分解变换,结果如图3 所示。计算两种方法的去噪指标SNR 和RMSE,如表1 所示,信噪比越大,均方根误差越小,说明去噪效果越好。另外,选取6 组测试者中各两组数据进行同样的处理,结果如表2 所示。对比可知小波变换比较平滑,但丢失了部分脉搏波的尖峰或突变细节,双密度双树去噪效果明显较好,并能更好地保留波形特征,失真程度也小于小波变换。 图3 去除高频噪声后信号 表1 不同去噪方法指标值 表2 不同测试者脉搏波去噪指标值 对滤除高频噪声前后的脉搏波信号进行FFT 变换[10],得到频谱信息如图4 所示,信号中有大量幅值小的噪声,经双密度双树小波变换处理后噪声信号基本被消除,频率主要集中于15 Hz 以下。 图4 原始信号去噪前后频谱图 本文利用三次样条插值去除信号基线漂移,整体步骤如下: 1)对每个脉搏波信号所有周期的波谷点进行识别并标记,并将信号的起始点和结束点作为基准点; 2)在每个信号起始基准点之间通过样条插值计算,得到一条近似于脉搏波基线漂移的拟合曲线,如图5 所示为测试者4 去除高频噪声后的信号拟合漂移基线; 图5 三次样条拟合基线 3)用原始的脉搏波信号减去拟合的基漂信号即可得到最终滤波信号[11],如图6 所示,与图3 对比可以看出信号的基线漂移得到明显抑制。 图6 去除基漂后的脉搏波信号 本文提出一种DD⁃DT DWT 与三次样条插值结合的脉搏波去噪算法结构。该方法采用双滤波器组,根据信号的频率特性,首先通过计算确定分解层数,分离原始信号高频、低频系数后,只针对高频系数进行处理,低频系数保留,得到相应小波系数之后进行信号重组,完成高频噪声的去除。之后利用三次样条插值法对上述处理后的信号进行分段,确定每段信号的各项基准点,在每段区间内进行插值拟合,得到漂移基线。再用未处理的信号减去拟合后的基线,即完成信号的去基线漂移操作。 仿真结果显示经该方法处理后的信号,高频噪声滤除效果对比小波变换,保留了更多原始信号细节,提高信噪比的同时降低了均方根误差,去除基线漂移的效果也很明显,信号经处理后更易提取特征参数[12],如幅度、波峰波谷点、脉宽等,为后续建模提取血压、血氧等参数提供了方便,整体算法结构计算简单,运算速度快,同样适用于可穿戴设备,满足脉搏波处理的实时性。 注:本文通讯作者为杨昊。2 数据处理分析
2.1 高频噪声消除
2.2 基线漂移消除
3 结语