GB T 4833.3-2008 多道分析器.第3部分 核谱测量直方图数据交换格式.pdf

上传人:brainfellow396 文档编号:164763 上传时间:2019-07-15 格式:PDF 页数:17 大小:287.88KB
下载 相关 举报
GB T 4833.3-2008 多道分析器.第3部分 核谱测量直方图数据交换格式.pdf_第1页
第1页 / 共17页
GB T 4833.3-2008 多道分析器.第3部分 核谱测量直方图数据交换格式.pdf_第2页
第2页 / 共17页
GB T 4833.3-2008 多道分析器.第3部分 核谱测量直方图数据交换格式.pdf_第3页
第3页 / 共17页
GB T 4833.3-2008 多道分析器.第3部分 核谱测量直方图数据交换格式.pdf_第4页
第4页 / 共17页
GB T 4833.3-2008 多道分析器.第3部分 核谱测量直方图数据交换格式.pdf_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ICS 0108001;2712001F 81 a固中华人民共和国国家标准GBT 48333-2008IEC 6 1 455:1 995多道分析器第3部分:核谱测量直方图数据交换格式Multichannel analyzers-Part 3:Histogram data interchange format for nuclear spectroscopy(IEC 61455:1995,Nuclear instrumentation-MCA histogram datainterchangeormat for nuclear spectroscopy,IDT)2008-03-24发布 2008

2、1101实施宰瞀鹃紫瓣警矬瞥星发布中国国家标准化管理委员会“”。GBT 48333-2008IEC 61455:1995目 次前言1范围-2 目的3概述-4术语和定义附录A(资料性附录) FORTRAN语言读数据的程序示例附录B(资料性附录) BASIC语言读数据的程序示例附录C(资料性附录)C语言读数据的程序示例【11l2681刖 吾GBJT 48333-2008IEC 61455:1995GBT 4833(多道分析器分为三个部分:第1部分:主要技术要求与试验方法;第2部分:作为多路定标器的试验方法;第3部分:核谱测量直方图数据交换格式。本部分是GBT 4833的第3部分,等同采用IEC 6

3、1455:1995核仪器 核谱测量用多道分析器直方图数据交换格式。本部分相对IEC 61455有如下编辑性修改:a)修改标准名称,使本部分作为GBT 4833多道分析器的一部分;b) 将第4章“定义”中的“术语”和“定义”分段书写;c) 以“脚注”形式说明原程序中的错误。本部分的附录A、附录B和附录C是资料性附录。本部分由国防科学技术工业委员会提出。本部分由核工业标准化研究所归口。本部分起草单位:核工业标准化研究所、清华大学。本部分主要起草人:熊正隆、薛昕、肖晨、张彤。GBT 48333-2008IEC 61455:1995多道分析器第3部分:核谱测量直方图数据交换格式1范围本部分适用于核谱测

4、量中脉冲幅度直方图数据的交换,而与数据来源、读或写数据设备以及容纳数据的媒体无关。2目的本部分的目的是提供核谱测量用多道分析器(MCA)直方图数据的交换格式,该交换格式能用于各实验室闻传送多道脉冲幅度数据以及为检验目的而分配这些数据。为与大量的计算机语言、计算机以及硬件链路相兼容,必须用ASCII书写完整的文件。预期这些文件在使用前将转换为本地格式。3概述为与大量的计算机及其硬件和软件兼容,完整的脉冲幅度直方图数据文件(以下简称数据文件)应采用ASCII码书写,其意图是在使用前将数据文件转换为本地格式。数据文件包含数目可变的记录。每个记录由70字节的字符、数字组成,并用4字节的“A004”作为

5、前缀,说明该记录以ASCII码表示。前缀后跟随64字节的数据。所有记录均以含有回车符和换行符的两字节作为结尾。记录中全部未使用的字节均填ASCII码的空格符。数据文件的记录格式见表1;数据文件的例子见图1;表1中记录内容的数据格式见第3章;使用FORTRAN、BASIC和C语言读取数据的程序示例依次见附录A、附录B和附录c。表1文件记录记录号 每个记录内容 字符类型 字节数系统标识子系统标识 字符 8+81 模拟一数字变换器(ADC)编号、段号 数字 4+4数字偏置 数字 6活时间、实时间 浮点数 14-b142总道数 数字 6开始获取时间 字符 (8+1)X23采样时间 字符 (8+1)24

6、 能量刻度系数(校正因子)AB,C,D 浮点数 1445 峰半高宽(FWHM)刻度系数P,0,R,W, 数字 144+469 样品说明(描述)一1一2一3一4 字符 64410 备用1122 能量和道数对(每个记录两对数据) 浮点数 1642334 能量和分辨率对(每个记录两对数据) 浮点数 16X 43546 能量和效率对(每个记录两对数据) 浮点数 16X 44758 用户定义1个道数 数字 659结尾 谱数据5个道数据 数字 105注:表中增加了每个记录内容的字符类型及其字节数。GBT 48333-2008IEC 61455:1995记录前缀 数 据位数1234123456789ABcD

7、EFGl23456789ABCDEFGl23456789ABCDEFGl23456789ABCDEFG01 A004 SYS 011 R杖D LAB l 1 002 A00430000000E+04 31110000E+04 819203 A004 011087 12:55:oo oooooo oo:oo:oo04 A004 91891420E+01 25253880E+0021011320E 072 1011320E+0005 A004 51970650E+0164495420E一0051749480E-0800000000E+0010006 A004样品描述一107 A004样品描述208

8、 A004样品描述一309 A004样品描述一410 A004备用11 A004 00000000E+0000000000E+0000000000E+0000000000E+0012 A004 00000000E+00 00000000E+00 00000000E+00 00000000E+00222334354546474858省略A00400000000E+0000000000E+0000000000E+0000000000E+00A00400000000E+0000000000E+0000000000E+0000000000E+00省略A00400000000E+0000000000E+

9、0000000000E+0000000000E+00A00400000000E+0000000000E+0000000000E十0000000000E+00省略A00400000000E+0000000000E+0000000000E+0000000000E+OOA00400000000E+0000000000E+00 00000000E+0000000000E+00A004用户定义A004用户定义省略A004用户定义位数 1234 123456123456789A123456789A123456789A123456789A123456789A59 A004 0 0 0 0 0 060 A00

10、4 5 0 0 0 0 06I A004 10 0 0 0 0 062 A004 15 0 0 0 0 063 A004 20 12 104 201 296 41764 A004 25 474 432 391 437 37165 A004 30 368 355 329 312 30066 A004 35 301 314 352 291 27067 A004 40 27l 269 246 226 22568 A004 45 227 266 243 229 24469 A004 50 238 207 244 251 24870 A004 55 272 300 292 297 283省略图1数据文件

11、4术语和定义412系统标识system identification描述系统的8字符标号。先导空格不表示先导零。系统标识用来描述采集数据的实验室或实验设GBT 48333-2008IEC 61455:1995备。系统标识与子系统标识一起唯一描述数据的来源。42子系统标识sub-system identification进一步描述系统的8字符标号。先导空格不表示先导零。子系统标识与系统标识一起唯一描述数据的来源。43模拟一数宇变换器(ADC)编号ADC number标识ADC的4字符数字。先导空格表示先导零。通常,一个给定系统的ADC编号总是从l开始,然后按顺序增加。在特定实验室中不同系统可用不

12、连续的编号。例如,对不同类型的设备,ADC编号可用14和1114。44段号segment number标识ADC子段的4字符数字。先导空格表示先导零。在几个数据输入共享一个ADC并在输人间进行多路传输的系统中将使用段号。每个输入可能是一个独立的探测器,在任意两个探测器之问不需要存在任何关系。注;子系统标识、ADC编号和段号应提供足够的信息,以便能将获取的直方图数据追索到收集该数据的设备。这样,便能使用这个谱来标识其他数据,例如分别存储的标定谱(刻度谱)和本底谱。在大型分布式系统中仅用ADC编号和段号还不足以唯一标识直方图数据。45数字偏置digital offset数字偏置位于道数轴上零电压输

13、入值的截点位置。在存储前应从ADC输入值中减去数字偏置。这相当于存储谱的第一道。它以带先导空格(表示先导零)的6字符数字表示。当数据的低道数部分不包括有用信息时使用数字偏置,在存储前将数字偏置部分扣除。数字偏置值被加到存储数据道上以得到ADC的输出值。即使各种谱并不完整,采用数字偏置可使它们相互比较。46活时间live time以秒和秒的小数表示的获取谱数据的活时间,导零。47实时间real time以秒和秒的小数表示的获取谱数据的实时间。导零。48它为】4字符浮点数,包括小数点和表示零和先它为14字符浮点数,包括小数点和表示零的先总道数number of channels以6字符数字(无小数

14、点)给出此数据文件所包含的总道数。当谱数据超过总道数的有效位时,最后的记录应含有空白数据。先导零表示零。49开始获取时间acquisition starl llme开始获取直方图数据的时间,用“DDMMYRHH:NN:SS”表示,其中DD是日期,MM是月份,YR是年份,HH是小时,NN是分钟,ss是秒数,“”(下划线字符)是ASCII码的空格。410采样时间sampling time实际采样物质的时问,用“DDMMYRHH:NN:ss一”表示,其中DD是日期,MM是月份,YR是3GBT 48333-2008IEC 61455:1995年份,HH是小时,NN是分钟,SS是秒数,“一”(下划线字符

15、)是ASCII码的空格。411能量刻度系数energy calibration coefficients能量(E,以keV为单位)对道数(如)的刻度系数用下式给出:EA+Bch+Cch 2+Dch 3系数A、B、c和D是4个连续的14字符浮点数(包括小数点)。先导空格表示先导零。未使用或未计算的所有值应全部设置为空格。通常,A称为能量一道数曲线的偏置或零截距;B是曲线的斜率;c是曲线的二次方项的系数;D是曲线的三次方项的系数。412峰半高宽刻度系数peak full width half maximum calibration coefficients半高宽(FWHM或shape,F)对道数(

16、f)的刻度系数,用下式给出:FP+Qch+Rch“+Wch“系数P、Q、R和w是4个连续的14字符浮点数(包括小数点在内)。是4字符数字(包括小数点)。先导空格表示先导零。未使用或未计算的任何值应全部设置为空格。通常,P称为偏置或零截距。f是道数的最低次幂,在大多数情况下,当FWHM为道数的二次函数关系时,z一05;当FWHM为道数的线性函数关系时,卢10。Q是FWHM一道数曲线最低次幂的倍数。R是FWHM一道数曲线第二次幂的倍数。W是FWHM一道数曲线第三次幂的倍数。413样品说明(描述)一1,一2一3,一4 sample description一1,一2,一3一4一个样品说明包含4个64字

17、符的记录。它们提供关于所分析样品源的信息。如不用这些记录应设置为空格。414备用spare这个记录目前是空的,它为标准扩展而保留。415能量和道数对energy and channel pairs相应道的能量(keV)按“能量一道数对”存储。“对”中的每个数是16字符浮点数,不用的“对”是ASCII码的空格或零。“对”在存储时是按顺序的,即第一个存人的是能量,第二个存入的是对应那个能量的道数,第三个又是能量,第四个则是对应第三个能量的道数,依此类推直到下个记录。它的目的是为分析程序重建合适的“能量一道数对”函数提供足够的(能量一道数对)数据。416能量和分辨率对energy and resol

18、ution pairs相应能量的探测器分辨率按“能量一分辨率对”存储。“对”中的每个数是16字符浮点数,不用的“对”是ASCII码的空格或零。“对”在存储时是按顺序的,即第一个存人的是能量,第二个存人的是对应那个能量的分辨率,第三个又是能量,第四个则是对应第三个能量的分辨率,依此类推直到下个记录。它的目的是为分析程序重建合适的“能量一分辨率对”函数提供足够的(能量一分辨率对)数据。417能量和效率对energy and efficiency pairs相应能量的探测效率按“能量效率对”存储。“对”中的每个数是16字符浮点数,不用的“对”是ASCII码的空格或零。“对”在存储时是按顺序的,即第一

19、个存人的是能量,第二个存入的是对应那个能量的效率,第三个又是能量,第四个则是对应第三个能量的效率,依此类推直到下个记录。它的目的是为分析程序重建合适的“能量一效率对”函数提供足够的(能量一效率对)数据。4GBT 48333-2008IEC 61455:1995418用户定义iisel-difined共有12个记录由用户定义,用于存储谱所需要的任何文字数据。419谱数据spectral data谱中的道数据按道数(道地址)存储,在每个记录的开始是1个道数,后面是5个道数据。道数是6字符数字,第一道是0道。道数据是10字符数字,其中有1个空格将它们分开。这样,每个记录共62个字符。先导零表示零。G

20、BT 48333-2008IEC 6 1 455:1 995附录A(资料性附录)FORTRAN语言读数据的程序示例这不是一个完整的程序,其精确的句法可随所使用的编译程序而不同。CHARACTER*8 IDl,1D2,ACQDAT,ACQTIM,SAMDAT,SAMTIMCHARACTER*64 SAMDES(4),SPARE,USER(12)INTEGER-:4-2 MCANUM,SEGNUM,DIGoFF,NUMCHNREAL-Z-4 LIVETM,REALTM,ENGCAL(4),FWHCAL(4),FWHEXP,EFFENG(24)REAL*4 EFFVAL(24),SPCTMP(5),

21、SPECTR(8192)ENGCHN(24)REAL*4 ENGVAL(24),FWHENG(24),FWHVAL(24)C open the spectrum fileOPEN(UNIT=4,NAME一ACCESS一SEQUENTIAL,FORM一FORMATTED)C read the identification 1abels and the mea and segment numbersREAD(4,100)IDl,ID2,MCANUM,SEGNUM,D1GOFFi00 FORMAT(4X,2A8,214,16)C read the livetime,realtime and the

22、length of the spectrumREAD(4,110)LIVETM,REALTM,NUMCHN110 FORMAT(4X,2E148,16)C read the spectrum acquisition date and time and the sample datetimeREAD(4,120)ACQDAT,ACQTIM,SAMDAT,SAMTIM120 FORMAT(4X,4(A8,1X)C read the energy calibration factorsREAD(4130)ENGCAL130 FORMAT(4X,4E148)C read the FWHM calibr

23、ationactorsREAD(4,140)FWHCAL,FWHEXP140 FORMAT(4X,4E148,F42)C read the sample description 1READ(4,150)SAMDES(1)1 50 FORMAT(4X,A64)C read the sample description一2READ(4。1 50)SAMDES(2)C read the sample description一3READ(41 50)SAMDES(3)C read the sample description一4READ(4,150)SAMDES(4)C skip the spare

24、recordREAD(4150)SPARED0 200 I124,2C read the energychannel pairsC l 122Energy and channel pairs;tWO pairs per record6GBT 48333-2009lEC 61455:1995READ(4,160)ENGCHN(1),ENGVAL(I),ENGCHN(I+1),ENGVAL(I+1)160 FORMAT(4X,4E168)200 CONTINUEDO 201 I一124,2C read the energyFWHM pairsC 2334Energy and resolution

25、pairs;two pairs per recordREAD(4,160)FWHENG(1),FWHVAL(1),FWHENG(1+1),FWHVAL(1+1)201 CONTINUEDO 202 I一1Z4,2C read the efficiency calibration energyefficiency pairsC 3546Energy and efficiency two pairs per recordREAD(4,160)EFFENG(I),EFFVAL(I),EFFENG(I+1),EFFVAL(I+1)202 CONTINUEDO 220 I一11 2G read the

26、user recordsREAD(4,210)USER(1)210 FORMAT(4X,A64)220 CONTINUEDO 300 I一1NUMCHN,5C read the spectrum data into a temporary bufferREAD(4,270)K,(SPCTMP(J),Jl,5)270 FORMAT(4X,16,5110)C check to see if the records are in the right orderIF(KNE(I一1)THENC and tell if they are not in the right orderWRITE(0,280

27、)I一1,K280 FORMAT(Channel number not in sequence at,15,SB,15)ENDlFC put the spectrum data in the final array according to the channelC number on the recordDO 290 J一15SPECTR(K+J)一SPCTMP(J)290 CONTINUE300 CONTINUEC the rest of your program tO use the data is hereGBT 48333-20081EC 61455:1995附录B(资料性附录)BA

28、SIC语言读数据的程序示例010 DIM USER$(12)020 DIM ENGCHN(24)030 DIM ENGVAL(24)040 DlM FWHENG(24)050 DIM FWHVAL(24)060 DIM EFFENG(24)070 DIM EFFVAL(24)080 DIM SPECTR(8192)090 OPEN”testiec”FOR INPUT AS#1100 REM read the first record110 INPUT#1,A$120 SYSNAM$一MID$(A$,5,16)130 MCAVAL(MID$(A$,21,4)140 sEG=VAL(MID$(A$

29、,25,4)1 50 DIGOFF=VAL(MID$(A$,29,6)160 REM read the second record170 INPUT#l,A$180 LVETIMVAL(MID$(A$,5,14)190 RELTIMVAL(MID$(A,19,14)200 NUMCHNVAL(MID$(A$,33,6)210 REM read the acquisition time and the sample time220 INPUT#l,A$230 DATTIM$=MID$(A$,5,18)240 SAMTlM$一MID$(A$,23,18)250 REM read the energ

30、y calibration coefficients260 1NPUT#l,A$270 ENGA=VAL(MID$(A$,5,14)280 ENGB=VAL(MID$(A$,19,1 4)290 ENGC=VAL(MID$(A$,33,14)300 ENGD=VAL(MID$(A$,47,1 4)310 INPUT#,A$320 REN read the Shape calibration coefficients330 FWHMA=VAL(MID$(A$,5,14)”340 FWHMQVAL(MID$(A$,19,14)350 FWHMR=VAL(MID$(A$6l,4)380 REM re

31、ad the sample description81)本条应为“330 FWHMP=VAL(MID$(A$,5,14)”390 INPUT#,SAMl$400 INPUT#SAM2$4lO INPUT#1,sAM3$420 INPUT#1,SAM4$430 INPUT#1,A$2440 I一1450 REM read the energy channel pairs460 INPUT#1,A$470 ENGCHN(1)一VAL(MID$(A$,5,16)480 ENGVAL(I)一VAL(MID$(A$,21,16)490 ENGCHN(I+1)一VAL(MID$(A$,37,1 6)500

32、 ENGVAL(1+1)一VAL(MID$(A$,53,16)510 I=l+2520 IF Imain(argc,argv)int argc;char*argv;static char systemid9,subsystem id9;static char acq_date9,acq_time9,samp_date9,samp_time9;static char sampdescl65,samp_desc2165,spare65,user1265;4static char spcbuffer71;static int i,j,spcchan,adc_number,segment_number

33、,number of_chansstatic long dighaloffset;static float livetime,reahime,energycall4,fwhm_cal4,fwhmexp;static float spctmp5,spectrum一8192;struer5float energyfloat efficiency;elf24;FILE-XspcfP;* Open the interchange Format spectrum for input*spcfp=fopen(“testiec”“r”);j* Read lDs,ADC number,segment numb

34、er and digital offset*fgets(spc_buffer,71,spcfp);sscanf(spc_buffer,”A0048c8c4d4d6ld”,system_id,subsystemidadcnumber,8,-segmentnumber,&digitaloffset);systemid9=NULL;subsystemid9=NuLL;4)本语句应增加读“样品描述 3和“样品描述一4”即:“staticcnah r samp_descI663,sarop_des021663,samp_desc3165samp_desc4166,spare65,user12653sta

35、tic char spcbuffer71;”5)原标准只读了“能量一效率对”,本部分改为读“能量一道数对”等三个对,所以增加了变量定义,其程序应为:“structfloat energy;float chareself o)cha24res24,eff24;FILE+spcfp”GBT 48333-2008IEC 61455:1995* Read live time,real time and number of channels*fgets(spe_buffer,71,spc_fp);sscanf(spe_bufter,“A00414f】4f6d”,8livetime,&realtime8L

36、numbeLof-chans);* Read acquisition and sample collection dates and times*fgets(spe_buffer,71,spcfp)sscanf(spebuffer,”A004N8e8c8c8c”,acq_date,acqtime,sampdate,samptime);acqdate9=NuLL;acqtime9;NULL;samp_date9一NuLL:samp time9一NULL;*+*Read the first spare record*6fgets(spebuffer,71,spcfp);sscanf(spcbuff

37、er,”A00464c”,spare);spare65一NULL;Read the second spare record*6fgets(spc_buffer71,spefp);sscanf(spc buffer,A00464c”,spare)spare65一NULL;Read energy calibration coefficients*|绝ets(spc_buffer,71,spcfp);sscanf(spc_buffer,A00416f aool6f16fMl6f”,&energyealo,b-energycalllenergy calf2,energy_eal3);7Read pea

38、k FWHM calibration coefficients*fgets(spebuffer,71,spefp);sscanf(spc_buffer,A00416f16fU016f16f4f”,b-fwhmcall0,-fwhm eal1&fwhm cal2,&fwhmcalf3,&fwhmexp);”f* Read four records of 64 character sample description*fgets(spc buffer,71,spc_fp);sscanf(spe_buffer,”A00464e”,sampdescl);sampledescl65一NULL;fgets

39、(spcbuffer,71,spe_fp);sseanI(spcbulter,”A00464c”,sampdesc2);sampledesc2165一NULL;126) 这里读2个备用记录的程序是多余的,应删除。7) 数据格式”16f”是错的,应为”14f”。fgets(spe buffter,71,spcfp);sscanf(spc_buffer,”A00464C”sample_descl65=NuLL:fgets(spc buffer,71,spc_fp);sscanf(spc_buffer,”A00464c”sampledesc21653=NULL;9)sampdescl)8samp_d

40、esc2);8GBT 48333-2008IEC 61455:1995* Read the 12 energy&efficiency pairs records(24 pairs)*for(i一0;i24;i+一2)fgets(spe buffer,71,spc_fp);sscanf(spc_buffer,”A00416f16f16f16f”,eff Eienergy,effiefficeincy,8Leff Ei+1energy,effi+1effieeincy)* Read the user defined records*for(i一0;i12;i+)fgets(spe buffer,7

41、1,spe fp);sscanf(spc_buffer,”A004 o64c”,&userio)useri65一NULL;* Read the spectral dataReport if any records are out of order*|8)这里sam descl和samdesc2是错的,应为sam_desc3和samdesc4。9) 这里应增加读备用记录的程序,即:“f* Read spare record*ifgets(spe buffer,71,spcfp);sscanf(、spe_buffer,”A00464c”,spare);spare65 JNULL;”1 o)原标准只

42、读了“能量一效率对”,应增加读“能量一道数对”和“能量一分辨率对”的程序,即:“* Read the 12energy&channel pairs records(24 pairs)*for(i一0;i24;i+=2)fgets(spc、buffer,71,spcfp);sscanf(spcbuffer,A00416f16f16f16f”,&chaienergy,&cha妇chareseff-chai+1energy-chai+1cha reseff;* Read the 12 energy 8resolution pairs records(24 pairs)*for(i一0;i24;i+一

43、2)(fgets(spcbuffer,71,spcfp)5sscanf(spe_buffer,“A00416f6f6f6f”。-resienergy8Lresicha_reseff,&resi+1energy,&res1+1Jcha_res elf;13GBT 48333-2008IEC 61455:1995|* but always put the data in the proper location in the array。ifor(i一0;number oLchans;i+一5)fgets(spcbuffer,71,spcfp);sscanf(spc_bufler,”A0046d10

44、flofloflof10f”,&spcchan,&spctmp03,-spc_tmp1,8v-spc_tmp2,8【-spc_tmp 1-33,&-spc_tmp4);if(i!一spe_ehan)print(“Channel number not in sequence atd SBdn”,ispcchan);for(jO;j5;j+十)spectrumspe_chan+j一spctemEj;i* Close the interchange format spectrum file -Xclose(spcfp);*-X*-X*-X*-X*-X*|* *|*Place the rest of your program to use the data here *|* *f*R-*EOT

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1