How to normalise a FFT of a 3 variable function.

2 Ansichten (letzte 30 Tage)
J K
J K am 11 Jul. 2019
Kommentiert: Rena Berman am 19 Sep. 2019
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!

Antworten (3)

Matt J
Matt J am 11 Jul. 2019
Bearbeitet: Matt J am 11 Jul. 2019
To normalize so that the continuous Fourier transform is approximated, multiply by the sampling intervals, dT1*dT2*dT3
  7 Kommentare
Matt J
Matt J am 12 Jul. 2019
Bearbeitet: Matt J am 12 Jul. 2019
Maybe also
F=F*sqrt(T1*T2*T3)/norm(F)
where T1,2,3 are the sampling distances.
J K
J K am 12 Jul. 2019
Thank you so much!

Melden Sie sich an, um zu kommentieren.


Matt J
Matt J am 11 Jul. 2019
Bearbeitet: Matt J am 11 Jul. 2019
To normalize so that Parseval's equation holds, divide by sqrt(numel(input)).

Matt J
Matt J am 11 Jul. 2019
Bearbeitet: Matt J am 11 Jul. 2019
To normalize so as to obtain Discrete Fourier Series coefficients, divide by N=numel(input).

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by