先认清拿到的是哪种产品
来源 HDF5 里有几种用途不同的数组。这里只提取 frb/wfall 以及坐标轴和质量信息。拟合得到的 model_wfall 是另一种产品,没有混进实测像素。同名近似的 calibrated_wfall 在此文件里有 192 个时间格,不能配上只有 38 点的 plot_time。
来源强度有 16,384 个原生频率行、38 个时间样本。小文件把相邻 256 行合成一组,只平均有限实测值,得到 64 行、38 列。每格保留有效原生通道数,另存完整原生频率轴与可用通道索引。十个粗频率行完全被屏蔽,仍然存为 null。
输入 JSON 的 SHA-256 为 dbaad39016765b834f2aa8dcb69e659aa19f5563abcf8e87ed18987f0cc62047。提取器从约 35.5 MB 来源文件按字节范围读取约五兆字节。服务器给出了来源 MD5,这里注明它来自服务器元数据;没有下载整份父文件独立计算该 MD5。
对应阅读:CHIME/FRB first catalog data and waterfall documentation · CHIME/FRB official public-data tutorials
搬样本以前,把坐标轴弄清楚
这个文件的强度第零行在高频端。plot_freq 本身升序排列,wfall 的行却对应它的倒序。提取器检查每行平均谱,确认倒序以后与来源谱一致。只排序频率、不对数据作相同置换,就会凭空改掉扫频方向。
时间中心从 0.49152 到 36.864 毫秒,间隔 0.98304 毫秒。旧文档的一处标签写成微秒,数值轴和当前官方教程则采用毫秒。这里明确固定这项解释。它保存的是去色散后的一小段时间窗口。
来源参考 DM 为 715.8092661658914 秒差距每立方厘米。这个柱密度会让四百与八百兆赫相差约 13.92 秒。若把整段时延又施加到约 37 毫秒的切片上,信号就全搬出了窗口。正确练习是在已有去色散附近,只试小的残余校正。
对应阅读:CHIME/FRB first catalog data and waterfall documentation · CHIME/FRB official public-data tutorials · Condon & Ransom, Essential Radio Astronomy, Chapter 6
带着屏蔽信息一起搬样本
对每个残余 DM,计算相对八百兆赫的频率时延,再除以采样间隔,得到通常带小数的样本位移。相邻两点都有效时,才做线性插值;移到窗口以外的样本不参与。右边缘的数据不会绕回左边缘。
合并频率时,权重取参与插值的两格中较小的有效原生通道数。这样就保留了“少数通道平均”和“整箱通道平均”的区别。这是明确的计数加权规则,并不是标定后的逆方差似然;早期处理带来的相关噪声也没有被重建。
脚本先验证输入哈希,随后把所有轮廓、作为权重保存的质量信息,以及摘要计算选择写进新 JSON。运行不需要联网。
python3 -W error replay-chime.py
python3 -W error replay-polarization.py
对应阅读:CHIME/FRB first catalog data and waterfall documentation · CHIME/FRB official public-data tutorials
读重跑出来的轮廓
残余 DM 为零时,最高样本位于 13.271 毫秒。用最前六格和最后六格估计基线与 RMS,峰比基线高约 29.4 个 RMS。残余校正为负一时,这个比值约 8.12;正一时约 8.81。即使不假定脉冲模板,也能看出搬错以后脉冲变宽了。
这些数字比较同一批实测像素的三种指定变换。边缘格、插值和随时间变化的有效通道数都会影响 RMS,因此它们是描述性的信噪比估计。练习没有重新优化目录 DM,也没有给出它的置信区间。
下图灰色轮廓不作残余校正,蓝色与粉色分别校正负一和正一。实测动态频谱显示原来的处理切片,所有图都来自文件包里保存的强度值。
对应阅读:CHIME/FRB first catalog data and waterfall documentation · CHIME/FRB official public-data tutorials
换一段频带,再合并时间格
保存的重跑还分别只用低频半段和高频半段,都取残余 DM 为零。峰对边缘 RMS 的比值分别为 12.53、22.64,全频带则为 29.41。每段保留三十二个粗频率行和原来的屏蔽。源的频谱、屏蔽通道和噪声都影响差别,不能把这些比值直接当成单位带宽的望远镜灵敏度。
另一组比较把相邻两个时间样本按有效通道数加权平均。输入变成六十四行、十九列,间隔 1.96608 毫秒。基线改用两端各三格,保留近似相同的时间长度。峰对 RMS 比值升至 36.58,峰所在格的中心却改成 12.780 毫秒,描述轮廓的时间格也减少了。平滑可以提高峰噪比,同时损失计时细节。
同一套粗略回归,在两个半频带给出 2.06 和约 420 毫秒的三点表观长尾时间。差别如此大,再次提示应先诊断短窗口拟合,再解释物理散射时间。
对应阅读:CHIME/FRB first catalog data and waterfall documentation · CHIME/FRB official public-data tutorials · Geyer & Karastergiou (2016), revisiting pulsar scattering
试着拟合长尾,再看它怎样失效
从峰后取基线扣除后仍高于三个边缘 RMS 的正值,拟合其对数随时间的变化。如果真有一条指数衰减尾,直线斜率就是负的一除以 e 折时间。残余 DM 为零时,只剩三点,给出表观 e 折时间 19.73 毫秒。两种错误 DM 都只剩两点,脚本直接报告没有长尾估计。
短处理窗口里挑出的三点,无法分开本征宽度、基线误差、未分辨子结构和散射。估计基线的晚到样本里,甚至还可能带着尾巴。这个很大的表观时间,显示的是拟合方法很脆弱,并不是 FRB20180725A 的新散射测量。
若要推断物理散射时间,应回到更宽的标定数据,同时拟合源轮廓和仪器响应,保留频率依赖,并比较其他尾形。前一章的合成指数实验,可以先用来检查因果性与积分强度守恒。
对应阅读:Geyer & Karastergiou (2016), revisiting pulsar scattering · Condon & Ransom, Essential Radio Astronomy, Chapter 6
强度和偏振使用各自的数据
固定 CHIME 切片没有 Q 或 U。下载包中的 synthetic-results.json 来自另一个种子为 606 的合成探测实验。运行 replay-polarization.py,独立拟合其中已保存的通道积分,再与 polarization-replay.json 和偏振一章的例题比较。复算读取原来那次带噪记录,不会重新生成探测噪声。
官方偏振发布从标定电压数据出发,校正两路信号的相位和时延,再构造 Stokes 谱。这次未在发布中找到合适的小型标定 Q/U 表,因此给出原始资料的阅读路径,保留强度教程的实际范围。
处理下一个文件时,先写产品名、已有处理 DM、轴顺序、时间单位、屏蔽规则和通道响应,再开始拟合。保存来源哈希,并把拟合参考数组与探测数据分清。
对应阅读:CHIME/FRB official public-data tutorials · Pandhi et al. (2024), CHIME/FRB polarimetry, arXiv v2