我最近使用python在healpy中使用函数synfast
进行了游戏。更具体地说,我使用其参数 lmax 来设置要计算的最大模式(默认值:lmax = 3 * nside-1)。我也会使用ud_grade
函数。
我探讨了几种情况,我使用synfast
从等于单位的平面光谱(温度TT和极化EE和BB)生成非常简单的地图。然后使用anafast
计算这些地图的光谱。我发现在所有情况下我们都没有恢复初始输入光谱,如下图所示。
在所有这些情况下,我将synfast
的 pixwin 参数设置为 True ,然后使用该函数更正anafast
的输出信号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)
Plot : spectra estimations from different kind of map using syfast, ud_grade and anafast
synfast
,它不允许 lmax 高于4 * 128-1,并设置lmax = 4 * 128-1,即使我们要求更高 lmax < / em>的有人对这种行为有解释吗?
如何恢复初始输入频谱?
提前谢谢
答案 0 :(得分:0)
这是ud_grade的预期影响,它是一种破坏性操作,你可以在某种程度上消除信号,实际上你可以恢复与白噪声一致的偏差。