云计算用于G-M计数器实验的数据处理

2022-07-04 12:18张润生程敏熙徐永康
物理通报 2022年7期
关键词:高斯分布计数器数据处理

张润生 程敏熙 徐永康

(华南师范大学物理与电信工程学院 广东 广州 510006)

近年来,由于低硬件成本、按需服务、动态调配、安全方便的特点,云计算平台成为辅助高校物理实验教学的重要资源[1].运用云计算方法来辅助高校近代物理实验数据处理,不仅可以提高数据处理的速度和质量,还可以发展学生现代信息技术运用的能力[2].

本文基于云计算原理,利用Python及Flask设计了一款辅助G-M计数器及放射性衰变统计规律实验数据处理的程序,实现了数据表格呈现、数值计算及绘图等功能.该程序可使用任意移动终端,通过人机交互输入实验数据,实时进行数据处理并输出数据处理结果.

1 实验原理及实现条件

1.1 Python语言及Flask框架

Python是一种面向对象、支持动态语义、内置高级数据结构、语法简洁优美、易于扩展的解释型脚本语言[3],其包含的模块和扩展库提供了各种问题的解决方法,具有易学、易读、易维护等特点[4].本文的编程语法采用Python语言.

Flask是一种使用Python语言编写的Web开发框架,可以在短时间内实现功能丰富的中小型网站或Web服务,具有灵活、轻便、安全且容易上手等特点[5,6].本文采用Flask-WTF作为表单设计的第三方库,调用Boken库实现数据可视化.

1.2 G-M计数器及G-M管的坪曲线

G-M计数器是盖革(Geiger,1882-1945)和米勒(Muller,1905-1979)发明的一种专门探究电离辐射(α粒子、β粒子、γ射线)强度的气体电离探测器,具有结构简单、易于加工、输出信号幅度大、使用方便、成本低等特点[7].如图1所示,G-M计数器由G-M计数管、高压电源及定标器组成.

图1 G-M计数器实验装置图

在强度不变的放射源照射下,G-M计数管的计数率n与计数时间t、计数N的关系为

(1)

计数率n随外加电压V变化的坪曲线如图2所示,其中坪长L为

图2 G-M计数管的坪曲线

L=V2-V1

(2)

坪坡度T为

(3)

1.3 核衰变的统计规律

原子核放射性衰变过程属于随机事件,而大量的随机过程服从统计分布规律[7,8].

(4)

图3 泊松分布与高斯分布曲线

(5)

泊松分布和高斯分布的标准差σ满足

(6)

2 程序编程与实验数据处理

2.1 测量G-M计数管的坪曲线

输入实验条件下显示的电压示数及对应的计数值,本程序在线处理绘制出G-M计数管的坪曲线,以此计算G-M计数管的坪长度、坪坡度,确定阈电压和适宜的工作电压范围.

(1)以下是程序算法的部分代码:

V = [] #输入电压数据

counts = [] #输入计数值

count_rates = [] #计算计数率并形成列表

for count in counts:

count_rate = count * 3 / 5

count_rates.append(′%.3f′ % count_rate)

z1 = np.polyfit(V ,count_rates ,4) #多项式拟合

p1 = np.poly1d(z1)

yvals = p1(V)

此部分为G-M计数管坪特性曲线的绘制提供数据支持,本实例的数据处理结果如表1所示.

表1 测量G-M计数管坪曲线的数据

(2)以下是实现数据可视化的部分代码:

plot1=plt.plot(V,count_rates,′*′,label=′Raw data′)

plot2=plt.plot(V, yvals, ′r′,label=′Curve fitting′)

plt.xlabel(′V/伏′, fontproperties=′SimHei′)

plt.ylabel(′n/min′, fontproperties=′SimHei′)

plt.show()

此部分代码调用Bokeh方法,将计算结果转化成为图像,实现平台上数据的可视化.由图4可知,本实例的阈电压为320 V,适合工作频率范围的电压为340~540 V,坪长度约为200 V,坪坡度为

图4 系统生成的G-M计数管坪特性曲线

4.08%/(100 V)

(7)

2.2 验证泊松分布规律

不需要放射源,选定工作电压440 V,计数时间1 s,测量本底计数,每次计数值均小于10,重复测量300次以上,输入实验测得的计数值及对应次数,本程序在线处理绘制出实验图像和理论图像,实验结果基本服从泊松分布.

(1)以下是程序算法的部分代码:

cnt=[] #计数值列表

istNs=[] #对应次数列表

theoreticalPNs = []

averN=0

N=np.array(listNs).sum() #总测量次数

cnts=np.array(cnt)

truePNs = listNs / N #求P(N)的实际值

for i in range (0,len(cnt)): #求计数值的平均值

averN = averN + listNs[i] * cnts[i] / N

for i in cnts: # 求理论概率

theoreticalPN=((averN)**i)*(np.exp(-averN))/np.math.factorial(i)

theoreticalPNs.append(theoreticalPN)

用户可通过导入Excel表格或手动输入两种方式录入数据,此部分对输入的数据进行在线处理并获得加权平均值、标准差、概率实验值和理论值等数据.本实例的数据处理结果如图5所示,数据处理结果可以通过Excel形式导出保存.

图5 验证泊松分布实验的数据处理结果

(2)以下是实现数据可视化的部分代码:

P=figure(title="实测分布图",x_axis_label=

"N", y_axis_label = "P(N)")

p1=figure(title="理论分布图",x_axis_label=

"N", y_axis_label = "P(N)")

p2 = figure(title = "对比图",x_axis_label=

"N",

y_axis_label = "P(N)")

r = gridplot(children = [[p, p1], [p2]])

show(r)

当用户点击“绘图”按钮后,程序会呈现该实验值的实测分布图、理论分布图以及以上两幅图的对比图,以便用户验证实验结果是否服从泊松分布.本实例处理得到图像如图6所示.

图6 实测曲线与泊松分布理论曲线的对比

2.3 验证高斯分布规律

选择工作电压440 V,放置放射源,计数时间1 s,每次计数大于20,本实验每次的计数值约300/s,重复测量500次以上,输入实验条件下测得的所有计数值,本程序在线处理绘制出实验图像和理论图像,实验结果基本服从高斯分布.

(1)以下是程序算法的部分代码:

def large (list,big) : #分组函数

list1 = list a=[] b=[]

for i in range (0,len(list1)):

if list1[i] >= big :

for j in range (i,len(list1)):

b.append(list1[j])

break

else:

a.append(list[i])

return a,b

def fung(avg,Q=[]): #高斯分布计算

N=np.array(Q)

tpn=np.exp((-(N-avg)**2)/(2*avg))/

((avg*(2*np.pi))**0.5)

return tpn

如图7所示,实验数据提交后,程序在网页上以表格的形式呈现数据处理结果.在本实例中,avg±W、avg±2W、avg±3W三个区间的概率分别为0.6980,0.9451,0.9980,与高斯分布的理论概率68.5%,95.4%,99.7%相近.

图7 验证高斯分布实验的数据处理结果

(2)以下是实现数据可视化的部分代码:

p=figure(title=′频率分布直方图′,x_axis_label

=′计数率N′, y_axis_label = ′频率/组距′ )

p1=figure(title="理论正态分布图", x_axis_label

="计数率N", y_axis_label="P(N)",)

p2 = figure(title="对比图", x_axis_label="计数率N", y_axis_label="P(N)")

r = gridplot(children=[[p, p1], [p2]])

show(r)

当用户点击“绘图”按钮后,如图8所示,程序会生成该实验的实验值分布图、理论分布图以及对比图,直观显示实验结果是否服从高斯分布.

图8 实测曲线与高斯分布理论曲线的对比

3 结论

本文基于云计算平台,用Python及Flask设计了一个辅助盖革-米勒计数器及放射性衰变统计规律实验数据处理的程序,不同类型终端都可以使用该平台辅助实验教学,极大提高了师生教学实践和学习的效率和质量,实现了基于云平台的大学物理实验教学资源的功能拓展.

猜你喜欢
高斯分布计数器数据处理
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
采用虚拟计数器的电子式膜式燃气表
基于低频功率数据处理的负荷分解方法
无人机测绘数据处理关键技术及运用
高层建筑沉降监测数据处理中多元回归分析方法的应用研究
高层建筑沉降监测数据处理中多元回归分析方法的应用研究
在航集装箱船舶摇摆姿态的概率模型
不同分布特性随机噪声的FPGA实现
基于Multisim10.1的任意进制计数器的设计与实现
改进的自适应高斯混合模型运动目标检测算法