How to normalise a FFT of a 3 variable function.

4 ビュー (過去 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 ExchangeFrequency Transformations についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by