user10853036
user10853036

Reputation: 145

Units of of results from 2 dimensional FFT in numpy

I have a two dimensional numpy array (say arr) which contain values in a two dimensional coordinate map. This array has one value for every (10 meters , 10 meters) in (x,y) coordinate system. The array arr is of shape (4,4). The positions of centers of bins of arr are 10 meters apart.

The figure given below shows a picture of arr:enter image description here

I am doing a 2 dimensional discrete Fourier Transformiation of arr to obtain arr_fft in the following manner:

import numpy as np
from numpy.fft import fftn as np_fftn

arr = np.array( [ [125, 592, 29, 6512] , [529, 612, 295, 55] , [1212, 125, 2912, 612], [512, 9205, 925, 555] ] )
arr_fft = np_fftn( arr )

A picture of arr_fft can be found below (the labels of axes may be wrong, since I am unsure about what the values and units of the midpoints of bins of arr_fft should be):

enter image description here

In the above picture (arr_fft), what should be the correct units and values of the x and y axes? Thanks in advance.

The full code that I have used for plotting can be found here.

Upvotes: 1

Views: 629

Answers (1)

Matt Hall
Matt Hall

Reputation: 8152

The coefficients you get from an FFT on a spatial dimension represent wavenumber, which is broadly analogous to frequency when dealing with time series.

The units of wavenumber are m−1, and are unnamed in the SI system.

Upvotes: 2

Related Questions