How to normalise a FFT of a 3 variable function.

1 次查看(过去 30 天)
I have this function:
input = exp(-((W-w_o).^2)/deltaW.^2).*exp(-(Kx.^2+Ky.^2)/(deltaK.^2)).*exp(1i.*sqrt((W/c).^2-(Kx.^2+Ky.^2)).*z(j));
this is then fourier transformed:
fourier = fftn(input)
I need to normalise it. Dividing it by length() is not giving good results. Could someone please help!

回答(3 个)

Matt J
Matt J 2019-7-11
编辑:Matt J 2019-7-11
To normalize so that the continuous Fourier transform is approximated, multiply by the sampling intervals, dT1*dT2*dT3
  7 个评论
Matt J
Matt J 2019-7-12
编辑:Matt J 2019-7-12
Maybe also
F=F*sqrt(T1*T2*T3)/norm(F)
where T1,2,3 are the sampling distances.

请先登录,再进行评论。


Matt J
Matt J 2019-7-11
编辑:Matt J 2019-7-11
To normalize so that Parseval's equation holds, divide by sqrt(numel(input)).

Matt J
Matt J 2019-7-11
编辑:Matt J 2019-7-11
To normalize so as to obtain Discrete Fourier Series coefficients, divide by N=numel(input).

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by