0

In analytical 2D Fourier Transform, integrand is multiplied by dxdy. In algorithm of MATLAB function fft2(), this is not done.

In discrete case, dx is Lx/Nx and dy = Ly/Ny,

where Lx,Ly are lengths in metres and Nx,Ny are number of samples in x,y directions.

   https://in.mathworks.com/help/matlab/ref/fft2.html

Is it not correct to multiply by dxdy after using fft2() for user function i.e. matrix ?

Similarly for ifft2() function in MATLAB, there is no (dk_x)*(dk_y) where dk_x = 1/Lx and dk_y = 1/Ly

   https://in.mathworks.com/help/matlab/ref/ifft2.html

Any help will be appreciated. Thanks.

atom
  • 153
  • 1
  • 9
  • 1
    I assume just because when MATLAB does `fft2` it assumes that the `Lx==Ly==(e.g.)1` thus you do not need it to do the maths. – Ander Biguri Jul 26 '17 at 09:29
  • @AnderBiguri: I did not get what you are saying. Will you please elaborate it ? – atom Jul 26 '17 at 10:09
  • Not sure if there is anything to elaborate: you don't need it. it computes "normalized" fft. `lx=ly=1` (I think) – Ander Biguri Jul 26 '17 at 10:13
  • The help page you linked described the [mathematical formulation](https://uk.mathworks.com/help/matlab/ref/fft2.html#bvhcnas): See also wikipedia's page on [DFT](https://en.wikipedia.org/wiki/Discrete_Fourier_transform) – Steve Jul 26 '17 at 12:02

0 Answers0