How to normalise a FFT of a 3 variable function.

1 回表示 (過去 30 日間)
J K
J K 2019 年 7 月 11 日
コメント済み: Rena Berman 2019 年 9 月 19 日
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!
  1 件のコメント
Rena Berman
Rena Berman 2019 年 9 月 19 日
(Answers Dev) Restored edit

サインインしてコメントする。

回答 (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.
J K
J K 2019 年 7 月 12 日
Thank you so much!

サインインしてコメントする。


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 Center および File ExchangeFourier Analysis and Filtering についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by