资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
核数据处理课程设计题 目: 关于能谱寻峰、边界道的确定以及峰面积计算学生姓名: 班 级: 学 号: 指导教师:吴 和 喜 二零一二年六月 核数据处理课程设计报告 -能谱寻峰、边界道以及峰面积计算 摘要:本文简述两种不同的平滑过程与寻峰方法,简单比较法寻峰方法和导数法寻峰的对比分析,试用采用八阶高斯函数拟合后公式求导后对寻峰以及峰面积结果分析。关键词:能谱、峰面积、导数法、寻峰、边界道、拟合Abstract:This method of derivative spectroscopy data after smoothing peak search, and compare order derivative France to find the peak derivative method for the spectroscopy data the peak search and compare different fitting formula derivation on the peak search and peak areaanalysis of results.Keywords: spectroscopy, peak area, the derivative method,peak search, boundary Road, fitting 一、实验原理:1、采用高斯函数的平滑方法如果把谱数据中的统计涨落看成是“白噪声”,当使用匹配滤波器进行滤波时,可以得到最佳的信号噪声比。所谓匹配滤波器,就是该滤波器在道域中冲击响应函数与峰函数互为镜象。一般情况下,谱中的峰函数可以近似为高斯函数。由于高斯函数是偶函数,所以匹配滤波器在道域中的响应函数也应该是高斯函数。2、简单比较法寻峰 简单比较法是一种最直观又快速的寻峰方法。其基本思想是:在谱数据中,若某一道的数据比其他相邻的几道大很多,则可认为该道存在一个峰。连续检索光滑后的谱数据,如果在第m道同时满足下列关系式 则第m道附近有一个峰。式中,k是寻峰阈值,通常取1-1.5:m=2i+1为寻峰窗口宽度,一般i去1或2。在第m道附近的谱数据中用二阶差值多项式计算出精确峰位。 简单比较法适于寻找强单峰,在高本底上导找弱峰和分辨重峰的能力都比较差。但算法简单,程序运行速度较快。 导数是一条光沿曲线上数值的微商或微商函数,在数学上称它为曲线上 各 点 的 斜率。在导数光谱术中导数吸收光谱是指光强度或吸光强度对波长 的变化率曲线。当将原吸收曲线进 行一阶、二阶直至四 阶求导时,便可得到各阶导数光谱。导数光谱的基本特征(1)对原曲线的极值求一、二阶导数时通过原点,求二阶导数时为极小值,四阶导数为极大值,并恢复至原位置。据此特征可以准确的测定最大的吸收峰位。(2)极值数目随求导阶数的增加而增加。如当原曲线有一个极大值时 ,求n阶导数就有n+1个极大值和极小值,而原曲线有两个极大值时,则出现n+3个极值。(3)随求导阶数的增加,谱带变窄和复杂化。两组分组合的吸收曲线原光小的吸收谱带为大的吸收谱带所掩蔽,经二阶求导之后,原曲线中的小 “卫星”峰就变成极小值,四阶导数变为极大值。这时改善了谱线的分辨率,导数光谱更加明显。在射线衍射分析中各衍射谱也有类似的特征,不过这时的衍射曲线是晶体衍射强度 4 相对于衍射角5的一条光滑曲线,通常它是高斯、柯西和修正的洛仑兹函数形式,或其复合形式的分布函数。其一阶导数曲线通过零点 ,对应于衍射线的峰位3而二阶导数分布曲线的极小值也对应于峰位。由于一阶导数的零点确定峰位比较困难,特别是在多相衍射线重叠的情况下,一阶导数定峰不如二阶导数明显、准确,因此一般采用经光滑处理求二阶、四阶以至偶数阶导数的定峰方法。这是一种简便而有效的精确测定衍射峰位的方法。导数方法可以准确测定衍射峰位和重叠衍射峰的数目。因此,我们也称它为导数定峰法。所谓导数定峰法就是利用一条光滑衍射曲线上各点的数值微商(或求导)方式来确定重叠衍射峰位的方法。 能谱分析对寻峰方法的基本要求如下:(1) 识别弱峰(2) 剔除假峰(3) 分辨重峰(4) 不仅能计算出峰位的整数道址,还能计算出峰位的精确值,某些情况下要求峰位的误差小于0.1道。一、导数法寻峰原理 一阶导数法:经过平滑后的能谱我们可以很容易的计算其各阶导数。一阶导数计算过程如下:(1) 采用五点三次平滑公式的一阶导数公式: (2)沿道指i方向检索一阶导数从正变负,其零点值对应的道址为峰位。(3)再利用峰高判断条件:0.8FWHMW3FWHM时才认为可能是一个真峰,否则(2)中找到的峰位全是假峰,必须剔除。由于统计涨落的影响,峰高判定条件必需加以修正。 这就是一阶导数寻峰程序中实际应用的峰高判定条件。一阶导数法寻峰时最常用的一种方法,用这种方法能找出大部分峰,计算简单,运行书度也快,但主要缺点是不能分辨很近的重峰。二阶导数法:二阶导数和一阶导数法比较,二阶导数寻峰方法具有更高的重峰分辨能力。具体过程如下:(1) 先计算平滑数据二阶导数数值。采用五点三次平滑公式的二阶导数公式:(2) 沿道指i增加方向检索二阶导数值,(3) 找出二阶导数局部负的极小值对应的道指。如果这个负极大值的绝对值大于改导数的标准差的若干倍,则认为该道指是一个真峰。(4) 为了进一步剔除假峰,采用判定条件 二阶导数重叠峰导数图对于二阶导数法,其峰边界为真正的极大值点对应的道址三阶导数法三阶导数计算方法其峰位为其三阶导数值从负变为正的零点所对应的道址,峰的边界为三阶导数从正变为负的零点对应的道址。三阶导数可以确定重峰区的各个组分峰的峰位,而且能够狠灵敏的分辨重峰。 一阶导,峰位处由正到负过零点,边界处由负到正过零点 ;二阶导,峰位处负的局部最小值,边界道为正的极大值;三阶导,峰位处由负到正过零点,边界处由正到负过零点。3、 实验过程: 流程图:第一种方法,先高斯函数平滑,简单比较法寻峰开始获取能谱数据高斯函数法对能谱进行平滑得到平滑后的能谱数据结束简单比较法寻峰得到计算峰面积matlab编程程序如下:clc;clear;Filename,Pathname=uigetfile(*.txt,选择谱数据);fid=fopen(Pathname Filename,r);array,count=fscanf(fid,%d,inf);fclose(fid); x=1:count;plot(x,array)peak_position=; %峰位置信息%谱光滑 采用高斯函数光滑 y=0.2438 0.205 0.1218 0.05126k1=4; for i=1:count if(ik1&iupper(i)&p(i)p(i+1)&p(i)p(i-1) peak_position=peak_position i; endendplot(array_smooth,b*);hold on;peak=array(peak_position)plot(peak_position,peak,r+);实验结果如下:四、本文第二种思想:gauss8阶函数拟合法,此方法的主要思想是:不将数据平滑处理自然就没有了平滑公式,直接用八阶高斯函数拟合源数据,在对拟合后的函数进行求导,一阶导,峰位处由正到负过零点,边界处由负到正过零点 ;二阶导,峰位处负的局部最小值,边界道为正的极大值;三阶导,峰位处由负到正过零点,边界处由正到负过零点。其他过程都与前面的计算方法相同。开始获取能谱数据高斯函数法对能谱进行拟合对拟合后的函数求导结束导数法的寻峰得到计算峰面积五、MATLAB实验程序如下:% y 原始数据,1025*1% x = (1:1025);% y2为前600个数据 也可用全部数据y2 = y(1:600); % 这四个峰出现在y(1:600)中% x2 = (1:600);x2 = (1:length(y2);% Set up fittype and options.ft = fittype( gauss8 );opts = fitoptions( ft );opts.Display = Off;opts.Lower = -Inf -Inf 0 -Inf -Inf 0 -Inf -Inf 0 -Inf
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号