核数据处理课程设计报告.docx
- 文档编号:27466085
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:7
- 大小:20.65KB
核数据处理课程设计报告.docx
《核数据处理课程设计报告.docx》由会员分享,可在线阅读,更多相关《核数据处理课程设计报告.docx(7页珍藏版)》请在冰豆网上搜索。
核数据处理课程设计报告
核数据处理课程设计报告
核数据处理课程设计报告 姓名:
学号:
班级:
2012年月 日 目录 一、设计目的和要求二、设计原理 1、探测原理。
2、核数据处理的分析方法:
谱光滑、寻峰、求峰面积。
三、任务实现 1、计算器 2、写数据到文件中 3、按钮实现数据的读写 4、显示图谱 5、寻峰及道址换算 6、求峰面积 一、设计目的和要求 1、掌握核辐射探测的原理及核数据处理的方法; 2、了解图形程序的编写技能与技巧; 3、掌握文件读写函数的使用; 4、理解整个谱数据处理的流程; 5、进一步掌握对常用核数据处理的基本方法。
二、设计原理 1、探测原理。
什么是核辐射和核辐射探测?
所谓核辐射是指在各种核跃迁中,从原子核中释放出来中子、质子、α粒子、β粒子、X射线、γ射线等。
于它们本身具有波粒二象性,所以也将它们称为粒子或射线。
而核辐射探测主要是用各种类型和规格的核辐射探测器记录粒子数目,测定放射源的活度,确定粒子的质量、电荷、寿命、能量以及动量等。
在核辐射探测原理中,最基本的是利用带电粒子在物质中对物质原子产生的电离和激发效应或快速轻带电粒子穿过物质时的电磁效应。
X射线和γ射线在物质中没有直接电离和激发效应,因此,不能直接被探测到。
只有利用它们在物质中的光电效应、康普顿散射和电子对产生效应等产生的次级电子再引起的电离和激发才能探测到。
射线与物质的相互作用主要有三个过程:
光电效应、康普顿效应、电子对效应 光电效应 光子通过物质时和物质原子相互作用,光子被原子吸收后发射轨道电子的现象,称为光电效应,也称光电吸收。
光电效应发出来的电子叫做光电子。
光电效应、特征X射线和俄歇电的发射示意图 光电子可以从原子的K、L、M等各壳层中发射出来。
在光电效应过程中,因为动量守恒要求,除入射光子和光电外,还必需有第三者参加,即原子核,严格的讲是发射光电子之后余下的整个原子。
所以自电子不能产生光电效应,而且原子的内层电子于受到原子核的强束缚更容易满足动量守恒而更容易发射光电子。
一般的说,如果入射光子的能量超过K层电子结合能,那么,大约80%的光电吸收发生在K层电子上。
光电子的能量 入射光电子的能量 原子发射光电子,从内壳层打出电子,便处于激发状态。
退激有两种形式,一种是外层电子向内层跃迁伴随着放射特征X射线,其能量为两个壳层结合能之差另一种是原子的激发能直接交给外壳层的其它电子,使外壳层电子从原子中发射出来,即发射俄歇电子,其能量也仅以K层为例:
eKLZKLZ 光电子的角度分布 光电子的角分布与入射光子的能量有关。
实验上没有观察到00方向的光电子,这也证明了光电效应过程中的能量和动量守恒要求有第三者参加。
实验和理论计算还证明在1800没有光电子。
在光子能量很低时,光电子在900方向发射的概率最大,随着光子能量的增加,光电子发射方向逐渐趋向前方。
康普顿散射 康普顿散射是发生在入射光子与物质原子核外的轨道电子之间的非弹性碰撞。
入射γ光子被电子散射后,不仅改变其运动方向而且损失能量。
散射情况因入射γ光子能量不同而不同。
在低能范围内,这就是电子对产生效应。
电子对产生效应必须有第三者——原子核参加,才能满足能量守恒和动量守恒定律。
电子对产生效应的能量分配如下:
hv?
Ee?
Ee?
?
2mec2 显然,对于一定能量的入射光子,电对产生效应的正电子和负电子的动能之和为常量。
但是,电子和正电子之间的能量分配是任意的,它的动能0~(hν-2mec2)之间都是可能的。
于动量守恒关系,电子和正电子的发射几乎都是沿着光子的入射方向前倾的。
入射光子能量越大,正负电子的发射方向越是前倾。
电子对产生效应中产生的正电子和电子与物质相互作用同前面介绍的一样,负电子最终被吸收,但正电子在其中绝大部分动能损失而与周围物质达到热平衡时将与物质中的一个电子发生漂灭,放出两个能量均为的γ光子。
正电子的湮没:
正电子与物质发生相互作用的能量损失机制和电子相同。
正电子的特点
是:
高速正电子进入物质后迅速被慢化,然后在正电子径迹的末端与介质中的电子发生湮没,放出?
光子。
或者,它与一个电子结合成正电子素,即电子——正电子对的束缚态,然后再湮没,放出?
光子。
正电子湮没放出光子的过程称为湮没辐射。
正电子湮没时放出的光子称为湮没光子。
正电子湮没时一般放出两个光子,放出三个光子的概率仅为放出两个光子概率的%。
从能量守恒出发:
在发生湮没时,正、负电子的动能为零,所以,两个湮没光子的总能量应等于正、负电子的静止质量。
即:
h?
1?
h?
2?
me?
c2?
me?
c2,从动量守恒出发:
湮没前正、负电子的总动量为零,则, 湮没后两个湮没光子的总动量也应为零。
即:
h?
1h?
2?
cc,因此,两个湮没光子的能量相同,各等于。
而两个湮没光子的 发射方向相反,且发射是各向同性的。
正电子在材料中发生湮没的概率:
rP?
?
re2cn, P?
?
109?
ZA(s?
1)?
正电子寿命=1/P,固体中=10-10s,气体中=10-7s。
光电效应、康普顿效应是光子与核外电子的作用结果,电子对效应是光子与原子核电磁场的作用结果。
三种效应的相对重要性 对低能?
射线和原子序数高的物质光电效应占优势; 对中能?
射线和原子序数低的物质康普顿效应占优势; 对高能?
射线和原子序数高的物质电子对效应占优势。
三种效应相互竞争,可能同时存在。
在三种效应中,每个光子都是在一次作用中就损失其全部能量或相当大部分能量,并发射出电子。
正是这些电子使得探测射线成为可能。
光电效应和电子对效应所发射的次级电子的能量单一,因此?
射线探测器的物质应选用Z尽可能大的材料。
γ射线仪器谱的形成机制:
γ射线的探测器必须有两个特殊的功能。
首先,转换介质的作用,入射γ射线在探测器中有适当的相互作用几率产生一个或更多的快电子; 第二,它对于这些次级电子来说必须起普通探测器的作用,能够记录这些次 级电子在探测器中损失的能量。
2、核数据处理的分析方法:
谱光滑、寻峰、求峰面积。
多道脉冲分析器获取的谱数据需要以一定的数学方法进行处理才能得到实验要求的最终结果。
能谱的数据处理大致可以分为两个步骤。
首先进行峰分析,即能谱数据中找到全部有意义的峰,并计算出扣除本底之后每个峰的净面积。
第二步是放射性核素的活度或样品中元素浓度的计算,即峰位所对应的能量识别出被测样品中含有哪些放射性核素或被激发的元素,并且峰的净面积计算出放射性核素的活度或元素在样品中的浓度。
下面分别采用重心法对所提供的数据能谱进行平滑、采用简单比较法来寻找峰的峰位、用瓦森峰面积法计算样品中特征射线峰净峰面积。
谱光滑(重心法) 于射线和探测器中固有的统计涨落、电子学系统的噪声的影响,谱数据有很大的统计涨落。
在每道计数较少时,相对统计涨落更大。
谱数据的涨落将会使谱数据处理产生误差。
其主要表现为在寻峰过程中丢失弱峰或出现假峰、峰净面积计算的误差加大等等。
谱数据的平滑就是以一定的数学方法对谱数据进行处理,减少谱数据中的统计涨落,但平滑之后的谱曲线应尽可能地保留平滑前谱曲线中有意义的特征,峰的形状和峰的净面积不应产生很大的变化。
所谓重心法就是假设光滑后的数据是原来的重心。
对某一质点的集合体,于各质点所受合外力大小和方向不同,导致各质点向不同方向运动不同距离,如果该质点系所受的合外力为0,那么该物体的重心不变,对于能谱而言,于噪声信号幅度平均值为0,所以谱线上各数据的重心不变。
于能谱中不存在半道,则可以推出重心法的3点平滑公式:
-yi=1/4(yi-1+2yi+yi+1); 同理推出5点:
-yi=1/16(yi-2+4yi-1+6yi+4yi+1yi+2);以此可以推出7、9、11等点的平滑公式。
这几个平滑公式的优点是权因子都是正数,平滑之后的谱数据不可能出现负值,从而提高了平滑之后的谱数据的可靠性。
这在原始谱数据中本底很小、峰很高、而且峰的宽度很窄时是非常重要的。
如果平滑之后的谱数据出现了负值,可能使后续的计算程序在运行时产生错误。
寻峰(简单比较法) 简单比较法寻峰:
简单比较法寻峰是最直观而又快速的一种导峰方法。
在谱数据中,某一道的数据比其邻近的几道大很多时,则认为该道存在一个峰。
在计算中边疆检索平滑后的谱数据,如在第m道满足 ym?
2?
ym?
TRHym?
ym?
2 则第m道附近有一个峰。
式中TRH是寻峰阈值。
在第m道附近的谱数据中用二阶差值多项式计算出精确峰位。
求峰面积(线性本底法) 峰面积的计算是定量的基础。
知道了特征峰的净峰面积,就可以计算目标元素的含量。
实测谱中,各特征峰是叠加在环境本底和康普顿散射背景之上的。
总峰面积S:
在一个特定的峰区内,各道计数之和。
本底面积B:
环境本底和散射造成的计数总和。
净峰面积A:
峰的总面积扣除本底面积即可得出净峰面积。
即:
S—B=A, 所以,计算净峰面积,如何确定B最关键。
步骤:
?
确定峰的左右边界L、R。
?
计算总面积:
?
计算本底面积:
④计算净峰面积:
A=S—B 程序流程图 开 始 能谱数据的获取利用重心法对能谱平滑 平滑后的能谱图 简单比较法寻峰 峰的边界道确定线性本底法计算峰的净面积 得到计算峰面积 结束三、任务实现 1、计算器 任务要求 设计一个对话框,编辑程序。
实现简单的数据加、减、乘、除。
任务步骤 编辑一个对话框并在对话框内编辑按钮。
分别对每个按钮进行编程。
voidCJisuanqiDlg:
:
OnJia(){ //TODO:
Addyourcontrolnotificationhandlercodehere UpdateData(true); m_Result=m_Firnum+m_Secnum;UpdateData(false);} voidCJisuanqiDlg:
:
OnJian(){ //TODO:
Addyourcontrolnotificationhandlercodehere UpdateData(true); m_Result=m_Firnum-m_Secnum;UpdateData(false);} voidCJisuanqiDlg:
:
OnCheng(){ //TODO:
Addyourcontrolnotificationhandlercodehere UpdateData(true); m_Result=m_Firnum*m_Secnum;UpdateData(false);} voidCJisuanqiDlg:
:
OnChu(){ //TODO:
Addyourcontrolnotificationhandlercodehere UpdateData(true); m_Result=m_Firnum/m_Secnum;UpdateData(false);}任务效果 2、写数据到文件中 任务要求 设计一个对话框,编辑程序。
实现数据的写入。
任务步骤 编辑一个对话框并在对话框内编辑按钮。
对按钮进行编程。
#include#includevoidmain() { FILE*fp; inti,a[2048][2],b[2048][2]; if((fp=fopen(\{} for(i=0;i fscanf(fp,\printf(\
for(i=0;i fprintf(fp,\ printf(\ } if((fp=fopen(\{} for(i=0;i b[i][0]=a[i][0]; b[i][1]=a[i][1]; fprintf(fp,\printf(\ printf(\}任务效果 }fclose(fp); 3、按钮实现数据的读写 任务要求 编辑程序。
实现数据的读写。
任务步骤新建C++文档。
输入程序并运行。
voidCShiyanDlg:
:
OnDushuju() { //TODO:
AddyourcontrolnotificationhandlercodehereFILE*fp; intdatanum=0,data[2048];floatdata_ph[2048];inti; intdata1,data2; if((fp=fopen(\{ printf(\ exit(0);} while(!
feof(fp)) { } fscanf(fp,\data[datanum++]=data2;fscanf(fp,\ for(i=0;i } printf(\{ if(i2045) data_ph[i]=data[i]; else data_ph[i]=(data[i-2]+4*data[i-1]+6*data[i]+4*data[i+1]+data[i+2])*/16. fclose(fp); if((fp=fopen(\ { }任务效果 } for(i=0;i fprintf(fp,\printf(\exit(0); 4、显示图谱 任务要求 设计一个对话框,编辑程序。
实现图谱的显示。
任务步骤 编辑一个对话框并在对话框内编辑按钮。
分别对每个按钮进行编程。
voidCShiyanDlg:
:
OnYuantu() { doublexViewport,yViewport; intmax; CWnd*pWnd=GetDlgItem(IDC_P1); CDC*pDC=pWnd->GetDC(); pDC->SetMapMode(MM_ANISOTROPIC); CRectrect; doublescale; GetDlgItem(IDC_P1)->GetWindowRect(&rect); scale=*10/pDC->GetDeviceCaps(LOGPIXELSX);CDCMemDC; CBitmapMemBitmap; (NULL); (pDC,(),()); (0,0,(),(),RGB(255,255,255)); max=data[0]; for(inti=1;i {if(data[i]>max) max=data[i];} for(i=0;i xViewport=(i+1)*()/2048; yViewport=(*data[i]*())/max+10; pDC->SetPixel(xViewport,()-yViewport-1,RGB(255,0,0)); pDC->BitBlt(0,0,(),(),&MemDC,0,0,SRCCOPY); } (); (); } voidCShiyanDlg:
:
OnWudianpinghua() pDC->DeleteDC(); { doublexViewport,yViewport;floatmax; CWnd*pWnd=GetDlgItem(IDC_P2); CDC*pDC=pWnd->GetDC(); pDC->SetMapMode(MM_ANISOTROPIC); CRectrect; doublescale; GetDlgItem(IDC_P2)->GetWindowRect(&rect); scale=*10/pDC->GetDeviceCaps(LOGPIXELSX);CDCMemDC; CBitmapMemBitmap; (NULL); (pDC,(),()); (0,0,(),(),RGB(255,255,255)); max=data_ph[0]; for(inti=1;i {if(data_ph[i]>max) max=data_ph[i];} for(i=0;i xViewport=(i+1)*()/2048; yViewport=(*data_ph[i]*())/max+10; pDC->SetPixel(xViewport,()-yViewport-1,RGB(255,0,0)); } pDC->BitBlt(0,0,(),(),&MemDC,0,0,SRCCOPY); (); (); } pDC->DeleteDC();
任务效果 5、寻峰及道址换算 任务要求 设计一个对话框,编辑程序。
实现寻峰及导址是计算。
任务步骤 编辑一个对话框并在对话框内编辑按钮。
分别对每个按钮进行编程。
voidCShiyanDlg:
:
OnButton1() { LButton_Clicked=1;left_flag=1;Left_x=x_old;Left_y=y_old;} voidCShiyanDlg:
:
OnButton2() { inti,j,xl,xr,max=0,maxi=0; floatnewx;CRectrect1; CWnd*pWnd=GetDlgItem(IDC_P1);pWnd->GetWindowRect(rect1); ScreenToClient(&rect1);CDC*pDC=pWnd->GetDC();RButton_Clicked=1;if(left_flag==1) { Right_x=x_old; Right_y=y_old; //GetDlgItem(IDC_P1)->GetWindowRect(&rect1); xl=2048*(Left_)/(); xr=2048*(Right_)/(); for(i=xl+2;i if((data[i]-*sqrt(data[i])>data[i-2]) (data[i]-*sqrt(data[i])>data[i+2])) { for(j=i-2;j { if(data[j]>max) { max=data[j]; maxi=j; } m_e3=maxi; UpdateData(false); } } } newx=maxi*()/2048;CDC*pDC=pWnd->GetDC();CPenlpen(PS_SOLID,1,RGB(0,0,255));CPen*pOldPen=pDC->SelectObject(&lpen);pDC->MoveTo(newx,0); && pDC->LineTo(newx,());(); } RButton_Clicked=0;LButton_Clicked=0;} voidCShiyanDlg:
:
OnZuodaozhi(){ CRectrect1; intchx; CWnd*pWnd=GetDlgItem(IDC_P1); } voidCShiyanDlg:
:
OnYoudaozhi() { CRectrect1; pWnd->GetWindowRect(rect1);ScreenToClient(&rect1); chx=2048*(x_)/();m_e1=chx;UpdateData(false); intchx; CWnd*pWnd=GetDlgItem(IDC_P1); }任务效果 pWnd->GetWindowRect(rect1);ScreenToClient(&rect1); chx=2048*(x_)/();m_e2=chx;UpdateData(false); 6、求峰面积任务要求 设计一个对话框,编辑程序。
实现峰的面积计算。
任务步骤 编辑一个对话框并在对话框内编辑按钮。
分别对每个按钮进行编程。
voidCShiyanDlg:
:
OnZuobianjie() { LButton_Clicked=1;left_flag=1;Left_x=x_old;Left_y=y_old;} voidCShiyanDlg:
:
OnZuodaozhi() { CRectrect1;intchx; CWnd*pWnd=GetDlgItem(IDC_P1); pWnd->GetWindowRect(rect1);ScreenToClient(&rect1); chx=2048*(x_)/();m_e1=chx; } UpdateData(false); voidCShiyanDlg:
:
OnYoudaozhi() { CRectrect1;intchx; CWnd*pWnd=GetDlgItem(IDC_P1); }任务效果 pWnd->GetWindowRect(rect1);ScreenToClient(&rect1); chx=2048*(x_)/();m_e2=chx;UpdateData(false);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据处理 课程设计 报告