通过对HI 21cm 谱线的观测可以测量星系的几个重要参数,包括星系的红移、质量和旋转速度,以及演化指标,例如 Tully-Fisher 关系 (Tully & Fisher 1977) 和 HI 质量函数 (Zwaan et al. 1997)

所以要精确测量这些指标,就需要对HI星系谱线轮廓信息准确地参数化。 在这里,Westmeier$^{[1]}$提出了一种新的解析函数,称为“busy function”,可用于准确描述许多星系的特征双角 HI 剖面。 busy function是一个连续的、可微的函数,它只包含两个基本函数,即误差函数 $erf(x)$ 以及 $n \gg 2$ 次的多项式 $|x|^n$。

Busy Function

需要找到这么一个函数,它可以描述星系光谱中常见的陡峭侧面,同时还能拟合星系的特征波谷和尖锐、狭窄的峰。 此外,为了最小二乘拟合的目的,需要保证函数是连续且可微的,为此需要计算关于函数自由参数$∂f(x, p)/∂p_i$的偏导数。 这样的函数确实可以通过将两个误差函数和一个抛物线相乘以相对简单的方式构建,

这里的$ξ ≡ x - x_0$,变量 x 代表数据的光谱横轴,例如 频率或径向速度两个误差函数$ erf(x) $生成轮廓侧面,与抛物线相乘则生成轮廓的中央波谷。 鉴于其特性和多功能性,我们选择将此功能称为“busy function”。

busy function有五个自由参数:
轮廓的质心$x_0$; 轮廓的半宽$w$; 总振幅缩放因子$a$; 和两个附加参数,$b
$和$c$。参数$b$控制构成光谱侧面的两个误差函数的陡度。在b → ∞ 的情况下,侧面将变得无限陡峭,而对于b → 0,侧面的斜率将接近零。参数c控制抛物线的重点,从而控制中心凹槽的幅度。c> 0的值意味着波谷的振幅增加,而对于c = 0,波谷将完全消失。a,b,c和w的负值虽然在数学上允许,但在HI发射线的情况下在物理上没有意义,但是在这里未考虑的其他情况下 (例如吸收线) 可能有用。

对于$ bw ≫ 1 $的轮廓(即平顶或双角轮廓),轮廓中心的值简单地由$ B_0(0) = a$。 轮廓的半宽 w 等于两个误差函数间隔的一半,因此在 c = 0 和 bw ≫ 1 的情况下,轮廓的半高全宽等于 2w。

通过仔细选择 b、c 和 w 的适当值,几乎任何形状的(对称)双峰轮廓 可以通过函数重现。 通过使用误差函数来表示光谱的侧面,我们可以再现通常在圆盘星系的综合 H i 光谱中观察到的光谱剖面的特征性急剧上升。

Generalised busy function

上面的busy function是对称的,其中心凹槽的形状仅由一个抛物线来决定。因此,在此基础上添加额外的参数,busy function可以被一般化以描述更大范围的光谱轮廓,例如不对称或具有不同形状的波谷的轮廓。在更一般的形式中,busy函数可以写为

在这种形式下,自由参数的数量从五个增加到八个,包括两个误差函数的单独斜率$b_1$和$b_2$,误差函数和多项式的单独偏移量$x_e$和$x_p$,以及多项式的阶数n。

Example

可以从github上直接获取Westmeier的BusyFunctionFitting的代码$^{[2]}$或者是SoFiA的BusyFit代码$^{[3]}$。

这里我使用的是后者,SoFiA的版本。按教程成功安装并建立软链接后就可以使用了。

在终端中可以输入

busyfit -h

查看帮助文档:

输入

busyfit -noplot spectrum.txt  #不显示拟合图像
busyfit spectrum.txt

可以拟合谱线,拟合成功后在终端会显示拟合参数和谱线参数以及它们的误差

在不使用-noplot参数的情况下,会打印出拟合结果图像:

如果对默认拟合结果不满意也可以自己指定参数拟合,比如在这里我对这条谱线使用了如下参数以便拟合出星系的双峰结构:

busyfit spectrum.txt -p 0.0003292 0.02503 0.02501 1 221.6 252 24.66 1

结果:

References:

[1] arXiv:1311.5308

[2]https://github.com/RussellJurek/busy-function-fitting/

[3]https://github.com/SoFiA-Admin/BusyFit