一种高精度智能色谱数据分析算法 1技术领域 [0001] 本发明涉及色谱数据处理技术领域,特别是涉及一种高精度智能色谱数据分析算法。 2背景技术 [0002] 近年来,随着计算机技术的发展,色谱分析系统已经到了应用阶段,在众多场合中都已经投入使用,色谱分析系统的重要环节即色谱数据处理的高功能高完善化也在不断前进,其算法也变得更加复杂化,对色谱分析数据的精确度要求越来越高,所以对色谱分析的智能化要求也越来越高。基于滑动窗口的高保真无偏移滤波算法较之常用的加权和法具有滤波效果好、信号畸变小等优点,可以有效地克服因偶然因素引起的波动干扰,此法能保证谱峰高度和谱峰位置这两个重要参数不发生变化,所以非常适用于仪器化学分析信号的滤波。对于判峰最重要的就是峰的确定,高精度的判断顶点、谷点等从而判断峰的类型是判峰中最重要的部分,高精度智能频谱分析定点判峰算法改进了一般的判峰算法中可能存在的对各点判定的不够精确的问题。 3发明内容 [0003] 本发明提供的高精度智能色谱数据分析算法改进了传统技术中存在的因偶然因素引起的波动干扰容易使信号产生畸变导致谱图的峰高和峰位这两个重要参数容易发生畸变以及对判峰中点的判定不够精确的问题。 [0004] 本发明是通过以下技术方案解决以上问题的: [0005] 滤波的算法,宽度为k的峰,有k个峰数据,且均大于峰两侧基线高度d0,首先进入到宽度为n=2m+1的滑动窗口中滤波,窗口中数据从小到大排列,有m个数小于中位数,有m个数大于中位数,当k不大于m时,该峰被视为噪声而被完全滤除,当k大于m时,该峰被视为信号无失真地保留,但当k大于m时,窗口输出可能会形成平台型畸变,所以此时需要进行平台的确认,根据滑动窗口输出的中位数与前一次输出的中位数在原始数据序列中位置是否相同来判定平台的开始和结束,当高于或低于两侧数值的平台才需要修复,如果需要修复,则对产生平台的原始数据用宽度为b小于n的窄窗口重新滤波即可,经过滤波处理后的数据放在一个结构体数组中。 [0006] 判峰的算法,首先用上面提出的滤波算法滤波后得到放在结构体数组中的数据,根据一种替换规则得到一个数组A,根据A(L)用公式求出U(L),U(L)是用滤波后的数据处理后构建而成的数组,后面都是基于U数组来判断特征点,根据数学分析上的方法计算绝对噪声即基线噪声值TL,利用前面算出的值,再根据相对基线点的定义去求相对基线点的绝对值,根据基线点的定义判断相对基线点,同样根据求出的TL、N、A(L)、U(L)和向上点、向下点、顶点和谷点的定义利用回代计算方法去求解向上点、向下点、顶点和谷点,之后根据这些点的定义去判断它们是否是满足要求的点,确定好点后根据峰的定义以及整合这些点进而判断一段曲线是否为峰或峰群,根据峰的特征并结合这些点的特征便可以确定峰的分割方式,最后进行基线校平。 [0007] 本发明提供的技术方案的有益效果是: [0008] 由于采用了高精度智能色谱数据分析算法,在滤波上采用了一种基于滑动窗口的高保真无偏移数字滤波算法使得滤波效果好、信号畸变小,能保证谱峰高度和谱峰位置这两个重要参数不发生变化,得到的数据精度高,在判峰上基于前面提出的滤波算法进行滤波后得到的数据上使用了高精度智能频谱分析定点判峰算法,在判峰算法中基于起点、谷点等原本的定义精确地重新定义了各点并提出了相应的算法,使各点的判断更加精准,高保真的滤波之后进行判峰处理,两个算法紧密结合的使用对峰的判断更加准确。 4具体实施方式 [0009] 高精度智能色谱数据分析算法包括两个算法,在滤波中使用基于滑动窗口的高保真无偏移数字滤波算法,在判峰上使用高精度智能频谱分析定点判峰算法。 [0010] 基于滑动窗口的高保真无偏移数字滤波算法的具体实施方式是:将宽度为k的峰记为d0d0d0d1d2……di……dk-1dkd0d0d0……,式中d0值代表峰两侧基线的高度,而d1、d2、……、di、……、dk-1、dk代表从基线开始单调上升至峰顶、继而又单调下降至基线的k个峰数据,且所有峰数据都大于基线数据d0。 [0011] 设窗口的宽度n=2m+1,窗口中的数据从小到大排列后,有m个数小于中位数,另有m个数大于中位数,则宽度k小于或等于m的峰将被完全滤去,而宽度k大于m的峰将于峰顶区产生宽度为m+1的平台,但在实际情况下,峰曲线往往由于跳动而不完全符合单调上升或单调下降的假设,使平台窄于理论分析的宽度。在这种情况下需要对平台进行修复,在实际滤波过程中,需要进行平台的确认,当滑动窗口输出的中位数与前一次输出的中位数在原始数据序列中为同一位置的数时,则判定平台开始之后,当滑动窗口输出的中位数与前一次输出的中位数在原始数据序列中为不同位置的数时,则判定平台结束,而且只有高于两侧数值的平台(峰顶)或低于两侧数值的平台(重叠峰峰谷)才需要修复。 [0012] 高精度智能频谱分析定点判峰算法的具体实施方式是:首先根据数学分析上的方法计算绝对噪声值,先把采样时间分区,划分规则为以1秒为间隔,同时两个相临区间又有 0.5秒的重叠,这样在每个时间段内有对应的一段谱线。比较每个区间信号的极大值和极小值之差,在所有区间中选取差值最大的即为基线噪声值即绝对噪声值TL。然后根据最小半峰宽K处理数据, [0013] A(L)=X(j)/K根据相关定义计算,X(j)为原始采样数据,用替换规则以同样的方式求A(L-1),即可计算U(L),U(L)为滤波后的数据构建而成的数组,其中U(L)=A(L)-A(L-1)。 [0014] 判断相对基线点,首先计算绝对噪声值TL确定噪声滤除强度,噪声滤除强度在本文中设定为1,下文中出现的所有噪声滤除强度都设为1,相对基线点的定义是:如果|U(L)|≤TL,那么相对基线点B0(L)=A(L)根据基线点的定义判断相对基线点。 [0015] 之后根据向上点的定义判断向上点,首先计算绝对噪声值TL,如果U(L)>TL,则向上点B1(L)=A(L)。利用同样的计算方法和向下点的定义判断向下点。 [0016] 对于顶点的判断,首先计算绝对噪声值TL,如果U(L)>TL并且U(L+1)<-TL,则有顶点B3(L)=A(L)。