Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在傅里叶空间中创建网格_Python_Numpy_Fft - Fatal编程技术网

Python 在傅里叶空间中创建网格

Python 在傅里叶空间中创建网格,python,numpy,fft,Python,Numpy,Fft,我有一个代码,它创建了一个尺寸为4x4 arcsec的正方形图像,从-2 arcsec到+2 arcsec,并在80x80网格上创建。为此,我想添加另一个图像。 第二幅图像是通过80x80网格的FFT创建的,因此从傅里叶空间开始。在FFT之后,我希望图像在实空间中的维数与第一幅图像完全相同 因为傅里叶空间表示尺度,波数定义为k=2pi/x(尽管在本例中,numpy.fft使用了我认为k=1/x的定义),所以我认为最大尺度必须具有最小的k值,最小尺度必须具有最大的k值 因此,如果x_max=2(第

我有一个代码,它创建了一个尺寸为4x4 arcsec的正方形图像,从-2 arcsec到+2 arcsec,并在80x80网格上创建。为此,我想添加另一个图像。 第二幅图像是通过80x80网格的FFT创建的,因此从傅里叶空间开始。在FFT之后,我希望图像在实空间中的维数与第一幅图像完全相同

因为傅里叶空间表示尺度,波数定义为k=2pi/x(尽管在本例中,numpy.fft使用了我认为k=1/x的定义),所以我认为最大尺度必须具有最小的k值,最小尺度必须具有最大的k值

因此,如果x_max=2(第一幅图像x方向上的尺寸)和dim_x=80(网格中的列数):

k_x,max=1/(2*x_max/dim_x)

k_x,最小值=1/(2*x_最大值)

让傅里叶空间中的网格从k_x,min运行到k_x,max(y方向相同)

我希望我解释得足够清楚,但我还没有在有关FFT的文献中找到对此的任何确认或解释,我真的很想知道这是否正确


提前感谢

这是不正确的。k-空间值的范围从
-N/2*omega_0
(N-1)/2*omega_0
,其中
omega_0
是样本长度的倒数,由
2*pi/(max(x)-min(x))
给出,N是样本数。因此,对于您的案例,您可以从以下几点中得到一些信息:

N = len(x)
dx = x[-1]-x[0]
k = np.linspace(-N*pi/dx, (N+1)*pi/dx, N)