最近計算宇宙學的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): |
至於其他包含奇數的情況,以後用到在更新