技术领域:
本发明涉及一种导数谱平滑保峰的方法,尤其涉及一种基于信号分段分类匹配的保峰平滑处理方法。
背景技术:
:
导数法是信号分析应用中比较常用的一种方法,最初,导数谱被用于增强信号。随着研究的深入,导数法在谱峰识别、谱分辨率提高上得到了广泛的应用。近年来人们对于导数谱的研究越来越多,在生物、医学等分析应用中,导数谱具有对复杂样品检测组分可不经分离而直接测定的特点,可快速准确地对样品进行定性和定量分析。在化学样品分析中,峰位置是化合物的特征,峰移可以指示两种化合物的相互作用或吸收物的化学性质。然而导数谱对噪声及其敏感,带有噪声的谱数据根本无法使用。因此,对导数谱的保峰平滑处理的研究十分必要。
随着研究的深入,问题复杂度的加深,传统的导数谱平滑方法已不能满足高精度的要求。谱峰信号各段特征变化较大,采取统一的处理方法必定造成平坦区平滑而峰被严重削弱,若将峰特征保护得好,则平坦区会依然存有大量噪声。典型的滑动均值滤波法,虽然能在一定程度上能够去除噪声,但它容易破坏导数谱谱峰的特征;高斯滤波是对滑动均值滤波平滑窗口的改进方法,使用高斯函数作为平滑窗口,类似的,kaiser提出了kaiser滤波,使用kaiser窗作为平滑窗口,这两种方法效率较高,然而其对峰的保护效果不强。频谱分析是信号平滑中的另一类方法,这类方法需要先将信号转换到频域,再对其作频谱分析。小波方法是目前最常用的频谱分析方法,该方法可以较好的保护信号特征,然而选择不同的小波基和尺度,信号处理的结果也会大相径庭。
在导数谱的平滑方法上,统一的处理方法都有一定的缺陷。因此,如何进一步提高平滑效果是导数谱去噪中的一个重要问题。
技术实现要素:
:
针对现有技术导数谱的平滑方法存在的不足,本发明提出一种基于信号分段分类的导数谱平滑处理方法,能够在去噪的同时,进一步保护峰的特征。
本发明的具体技术方案如下:
为实现本发明的目的,本发明所采用的具体技术方案如下:
一种基于信号分段分类的导数谱平滑处理方法,具体步骤如下:
(1)输入待处理的含噪导数谱信号s(x)=y(x)+n(x),x∈x,其中,x是信号s(x)中的一个数据点,y(x)表示干净的信号,n(x)表示噪声,x表示数据点x的集合;
(2)对上述含噪导数谱信号进行分段处理,分成若干长度相等的信号段;分段长度范围取5-15个数据点,分段间隔大于1个数据点且小于信号段的长度;
(3)对分段得到的若干个信号段进行分类匹配,各类中的信号段按照相似性的大小排列成了一个二维数组,提取每类中信号段对应的相似数据矩阵:
(4)通过变换系数的收缩对每类中信号段对应的相似数据矩阵进行硬阈值去噪,得到去噪后的相似数据矩阵系数:
(5)对上述去噪后的相似数据矩阵系数进行二维离散余弦逆变换,得到各类信号段对应的相似数据矩阵
式中,每类信号段的权重值为
式中,
xm,xr∈x,
(6)对上述得到导数谱信号的初步估计结果
式中,
利用该系数设计的维纳滤波器对导数谱信号进行滤波,得到最终去噪结果。
进一步地,步骤(3)的具体过程如下:
第一,随机选择其中一个信号段作为参考段,在一个大小固定为n,的搜索窗口内搜索与参考段相似的信号段,如果两段之间的欧式距离小于规定的参数tmatch,则视为同一类;其中,n取大于信号段长度且小于200的整数;参数tmatch范围为0.01~0.05之间;
第二,在剩下不相似的信号段中再随机选择一个信号段作为参考段,重复上述过程,直到所有信号段都参与分类过程;
第三,归为一类的信号段堆叠成一个二维数组,得到每类信号段对应的相似数据矩阵;矩阵表示为
其中,欧式距离如式(1)所示:
式中,
进一步地,步骤(3)第一步中,所述参数选取0.05。
进一步地,步骤(4)的具体体过程如下:
首先对所述相似数据矩阵进行二维离散余弦变换,然后对变换后相似数据矩阵的系数λ进行阈值收缩去噪,得到去噪后相似数据矩阵的系数γ(λ,λthr),公式如下:
式中,λthr为阈值参数,取值范围可在0.10到0.15之间。
与现有技术相比,本发明具有以下有益技术效果:
1、本发明方法通过对含噪导数谱信号进行分段处理、分类匹配、硬阈值去噪、小波变换、维纳滤波得到得到最终去噪结果。
2、本发明在对导数谱信号处理前,增加了对信号分段分类匹配的步骤,利用信号的相似性,更有利于提高信噪比。
3、本发明设计了一种新的平滑方法,该平滑方法对导数谱具有更好的保峰去噪效果;
4、本发明的方法应用简便,节约大量的计算过程,峰形保护效果更佳,具有更好的应用前景。
附图说明
图1为本发明的整体流程图(也作摘要附图);
图2为信号分段结果示意图;
图3为信号分类结果示意图;
图4为对含噪导数谱平滑的效果示意图;
图5为维纳滤波器的设计原理图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
实施例一:
如图1所示,本发明基于信号分段分类的导数谱平滑处理方法,具体步骤如下:
(1)输入待处理的含噪导数谱信号s(x)=y(x)+n(x),x∈x,其中,x是信号s(x)中的一个数据点,y(x)表示干净的信号,n(x)表示噪声,x表示数据点x的集合;
(2)对上述含噪导数谱信号进行分段处理,分成若干长度相等的信号段;分段长度范围取5-15个数据点,分段间隔大于1个数据点且小于信号段的长度,以保证每个点都进行了平滑;
(3)对分段得到的若干个信号段进行分类匹配,各类中的信号段按照相似性的大小排列成了一个二维数组,提取每类中信号段对应的相似数据矩阵:
随机选择其中一个信号段作为参考段,在一个大小固定为n的搜索窗口内搜索与参考段相似的信号段,如果两段之间的欧式距离小于规定的参数tmatch,则视为同一类;其中,其中,n取大于信号段长度且小于200的整数;参数tmatch范围为0.01~0.05之间,本发明选取的参数值是0.05;
在剩下不相似的信号段中再随机选择一个信号段作为参考段,重复上述过程,直到所有信号段都参与分类过程;
归为一类的信号段堆叠成一个二维数组,得到每类信号段对应的相似数据矩阵;矩阵表示为
其中,欧式距离如式(1)所示:
式中,
(4)通过变换系数的收缩对每类中信号段对应的相似数据矩阵进行硬阈值去噪,得到去噪后的相似数据矩阵系数:
首先对所述相似数据矩阵进行二维离散余弦变换,然后对变换后相似数据矩阵的系数λ进行阈值收缩去噪,得到去噪后相似数据矩阵的系数γ(λ,λthr),公式如下:
式中,λthr为阈值参数,取值范围可在0.10到0.15之间;
(5)将上述去噪后的相似数据矩阵系数逆变换后返回到原来的位置,通过加权平均求和获得导数谱信号每个数据点的初步估计值:
对上述去噪后的相似数据矩阵系数进行二维离散余弦逆变换,得到各类信号段对应的相似数据矩阵
式中,每类信号段的权重值为
式中,
xm,xr∈x,
(6)对上述得到导数谱信号的初步估计结果
式中,
本发明维纳滤波器的设计原理如图5所示,其中,输入信号为导数谱信号,t1和t2分别表示使用两种不同小波基的小波变换操作,t1-1和
导数谱信号经过t2处理后可以得到
应用实例一:
基于实施例一,本发明基于信号分段分类的导数谱平滑处理方法,将本发明使用的数据存入使用text文本中,该数据组成了有平坦区且含有多个峰的信号。在matlab软件中读取信号,得到其导数谱信号并作为输入信号。
(1)将本发明使用的数据存入使用text文本中,该数据组成了有平坦区且含有多个峰的信号。在matlab软件中读取信号,得到其导数谱信号并作为输入信号。
(2)由于信号具有相似性,因此对输入信号作分段处理。分段长度的大小决定信号的去噪结果,适宜的长度可以提高信号的信噪比。多次实验结果表明,长度为15个数据点,数据分段间隔为1的信号段最后具有最好的信噪比。得到分段结果,如附图2所示。
(3)得到分段结果后,进行分类处理。分类的目的是将所有相似的信号段放在一起,可很多大程度地提高信噪比。以距离作为衡量信号段之间相似的标准,本发明计算的是信号段间的欧式距离,欧式距离是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离,dist函数就是欧氏距离的加权函数。以距离作为分类标准,直观且易于理解,达到了分类的目标。分类结果如附图3所示(给出了部分几类分类结果,3类)。
(4)首先使用硬阈值去噪对各类新号段进行去噪,得到的初步估计结果用于设计维纳滤波器。再将导数谱信号通过维纳滤波器进行滤波,得到最终去噪结果。维纳滤波与硬阈值去噪在小波变换域能够找到相通的关系,因此使用维纳滤波方法更为便捷有效。
(5)最后我们给出本发明使用的数据的导数谱信号去噪结果图,如附图4所示,最上面部分是不含噪声的原信号,中间部分是最终得到的平滑的结果,最下面的信号是应用本发明提出的新方法处理后的结果。