- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
核数据处理
一、实习目的
1、掌握图形程序的编写技能与技巧;
2、掌握文件读写函数的使用;
3、理解整个谱数据处理的流程;
4、进一步掌握对常用核数据处理的基本方法
5、掌握软件设计所需的基本动手能力,解决实际问题。
二、实习内容
1、读谱数据文件、保存光滑后的谱数据文件,文件名可选
2、显示谱数据,各算法要以函数方式实现
3、显示分析谱段范围内,寻得的各峰位道址、能量、对应的元素名称
4、显示寻峰及峰面积计算结果
5、光滑、寻峰宽度2k+1应在5、7之间可选,讨论最佳参数。
三、需求分析
1、输入、输出的内容和形式
(1)输入:
a、打开应用软件,弹出要求输入谱数据文件名对话框。
b、需要刻度谱线时,分别按e键和c键输入元素文件名和能量刻度文件名。
c、人机交互时,采用键盘按键方式将命令传给程序(具体操作:在运行程序后按h键即可弹出操作说明对话框)。
(2)输出:
a、屏幕显示谱线;光标位置及光标处的道址、能量和计数;屏幕上方显示“Software instructions please input h”。
b、当谱线被刻度好后,按n键会弹出相应元素对应的能量、面积和净峰面积。
c、按h键弹出应用程序操作说明对话框。
2、预期功能、界面
(1)显示输入谱文件名对话框;在文件名输入正确时,能够正确读取文件中的数据。
(2)正确显示谱线以及在刻度后显示道址、能量及计数。
(3)显示相应元素对应的能量、面积和净峰面积对话框。
(4)达到谱数据光滑的效果。
(5)采用键盘输入命令,使屏幕:
a、即时显示光标的位置以及对应的道址、能量及计数。
b、即时显示不同幅度放大倍数时的谱线形状。
c、即时显示不同光滑次数处理后的谱线微细结构(只有在幅度放大倍数很大时光滑效果才明显)。
d、即时显示谱线的点和线的切换。
3、测试数据
(1)文件读入是否正确。
(2)谱数据段的选择功能是否实现。
(3)move和curse的边界值是否设置妥当。
(4)谱数据光滑时前后几个数据(不能进行光滑)是否与光滑次数的关系对应好。
(5)道址和能量的换算是否正确。
(6)寻峰是否正确。
(7)最小能量差的计算是否正确。
(8)根据能量查找核素是否正确。
(9)净峰面积的计算是否有缺陷。
(10)检查谱线幅度放大时是否会出现异常。
四、概要设计
1、开发工具: Turbo C。
2、主要算法:
(1)、重心法:选取加权因子和归一化因子,使光滑后的数据成为原来数据的重心。常见的有5点和7点光滑。
5点法:
7点法:
(2)、简单比较法(极值定峰法、IF函数找峰法):
a、峰的定义:满足,然后在datai-m至datai+m中找最大值道。
b、常用的:5点、7点极大值法。
c、一般,用R=N0/Nb≥Rc确定峰是否有意义。N0为净峰幅度与基底之和,Nb为基底计数,Rc为设定值。
d、k:找峰阈值,根据高斯统计概率分布,一般k取值:1—1.5。
峰的左右边界道i-L和i+R的确定:
(3)、线性本底法:
计算总面积:
计算本底面积:
计算净峰面积:
3、主程序的流程及各模块之间的关系。
五、详细设计
1、函数及变量定义:
#define MAX_ELEMENT_NUM 20
#define ScreenHeight 480
#define ScreenWidth 640
#define LineHeight 370
#define LineWidth 500
#define LineLeftX ((ScreenWidth-LineWidth)/2)
#define LineRightX (LineLeftX+LineWidth)
#define LineTopY 40
#define LineBottomY (LineTopY+LineHeight)
FILE* dataFile;
int gdriver,gmode;
unsigned long dataTable[1024],maxVal;
int DisPos[500];/*实际显示的数据*/
int OriPos[500];/*未处理前的数据*/
int cursorX;
float zoom;
unsigned int cursorChannel;
unsigned char dispLine;
unsigned char energyMarked,elementLoaded,SpectrumLoaded,peakSeeked,cursorPeakseeked;
int smoothLevel = 1,peakSeekLevel = 9;
float a,
文档评论(0)