如果我有一些光子探测器,比如 CCD,我如何正确估计散粒噪声引入的误差?通常,在互联网上找到的消息来源说散粒噪声是计数的电子数的平方根(可能有多种来源,但这里有一个示例:http ://hamamatsu.magnet.fsu.edu/articles/ccdsnr.html ) .
那么散粒噪声的来源是什么?光子在半导体内产生电子的过程中吗?假设 10 个光子可能会导致 1 个电子,或者有时是 0 个或 2 个 - 因此电子的泊松分布?
其他来源描述了由到达探测器的不同数量的光子产生的散粒噪声。所以有时10个光子到达,有时只有9个甚至11个 - 因此电子的泊松分布是由光子数量的这种变化引起的?
两者都有吗?散粒噪声的Wikipedia 文章描述了光(光子)和电流(电子)量化引起的散粒噪声。
我想知道,如果我想用标准偏差来估计散粒噪声引入的误差,那么度量单位很重要。
如果起源是光子,其中 10 个光子产生 1 个电子,但光子数随时间变化,则散粒噪声为:
示例:100 个光子的信号的散粒噪声标准偏差为 10。这将转换为 10 个电子的平均信号,散粒噪声标准差为 1。如果我现在根据电子数估计散粒噪声,我将估计一个标准差- 这是错误的。
如果起源是转换成电子,其中 10 个光子产生大约 1 个电子,而是大约 1 的泊松分布,则散粒噪声为:
如果我现在估计平均为 10 个电子的信号的散粒噪声,我会再次得到- 如果光子到电子计数的转换是起源,那将是正确的。
Python 的一个例子:
>>> import numpy as np
>>> photon_count = 100 + 10*np.random.randn(10000)
>>> photon_count.std()
10.022125370282811
>>> electron_count = photon_count/10
>>> electron_count.std()
1.002212537028281
>>> np.sqrt(electron_count.mean()) # estimating shot noise as sqrt of number of electrons yields wrong result
3.1664560020385544