最近计算宇宙学的21cm 强度映射3D功率谱,我主要计算的多级功率谱。我使用numpy.fft计算,其中对于个数为偶数的数组tb,假设tb.shape=(Nx,Ny,Nz),numpy.fft返回的数组tb_fft对应情况(以第一维度举例):
tb_fft[0]:0频率,表示输入信号的平均值,一般直接扔掉
tb_fft[1:Nx//2]:正频率
tb_fft[Nx//2]:正负奈奎斯特频率
tb_fft[Nx//2+1:]:负频率
下面是检验三维数组是否满足对称性(注意,此数组仅适用于实数,没考虑复数):
1 | def check_symmetry(power_spectrum,shape): |
至于其他包含奇数的情况,以后用到在更新