2

我最近synfast使用 python 使用了 healpy 的函数。更具体地说,我使用了它的参数lmax,它设置了要计算的最大模式(默认值:lmax = 3*nside-1)。ud_grade如您所见,我还使用了该功能。

我探索了几种情况,在这些情况下,我生成了非常简单的地图,synfast其平面光谱等于统一(温度 TT 和极化 EE 和 BB)。然后使用 计算来自这些地图的光谱anafast。我发现我们并没有在所有情况下恢复初始输入频谱,如下图所示。

在所有这些情况下,我将pixwin的参数设置synfastTrue,然后更正了anafast使用 function的输出信号pixwin(nside=128)

  • 灰色虚线:输入频谱模型
  • 蓝色:(正常默认情况)synfast(nside=128, lmax=3*128-1)=>anafast(lmax=3*128-1)
  • 绿色:synfast(nside=256, lmax=3*256-1)=> ud_grade(256->128)=>anafast(lmax=3*128-1)
  • 洋红色:synfast(nside=256, lmax=3*128-1 )=> ud_grade(256->128)=>anafast(lmax=3*128-1)
  • 红色:synfast(nside=128, lmax=4*128-1 )=>anafast(lmax=3*128-1)
  • 青色:synfast(nside=128, lmax=10*128-1 )=>anafast(lmax=3*128-1)

绘图:使用 syfast、ud_grade 和 anafast 从不同类型的地图进行光谱估计

  • 如您所见,在大多数情况下,我会得到有偏差的光谱。
  • 对于高模式,即使是正常情况(蓝色)也略微向下偏移。这显然是正常的,因为 healpy 不能很好地处理模式 > 2*nside-1 的频谱估计。
  • 温度和偏振光谱(TT、EE 和 BB)的结果相同。
  • 如您所见,情况 lmax=4*128-1 和 lmax=10*128-1 给出相同的结果。这是synfast因为它不允许lmax高于 4*128-1,并且即使我们要求更高的lmax也设置 lmax=4*128-1 。

有人对这种行为有解释吗?

以及如何恢复初始输入频谱?

先感谢您

4

1 回答 1

0

这是 ud_grade 的预期影响,它是一种破坏性操作,您在一定范围内消除了信号,实际上您恢复了与白噪声一致的偏差。

于 2017-12-17T18:52:36.807 回答