【问题标题】:Biased spectrum from increased lmax in function synfast of healpy来自 healpy 功能 synfast 中 lmax 增加的偏差谱
【发布时间】:2018-05-31 04:33:43
【问题描述】:

我最近使用 python 玩了来自 healpy 的函数 synfast。更具体地说,我使用了它的参数 lmax 来设置要计算的最大模式(默认值:lmax = 3*nside-1)。正如您将看到的,我还使用了ud_grade 函数。

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

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

  • 灰色虚线:输入光谱模型
  • 蓝色:(正常默认情况)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)

Plot : spectra estimations from different kind of map using syfast, ud_grade and anafast

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

有人对此行为有解释吗?

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

提前谢谢你

【问题讨论】:

    标签: python healpy


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 2020-04-22
      • 1970-01-01
      相关资源
      最近更新 更多