資源簡(jiǎn)介
傅里葉反變換的原理詳述,自編函數(shù)可以調(diào)用,也可以讀取程序,理解算法原理
代碼片段和文件信息
function?[zxy]?=?inversefouriertransform2(Czvarargin)
%INVERSEFOURIERTRANSFORM2???Performs?the?Real?2D?Inverse?Fourier?Transform.
%???[ZXY]?=?INVERSEFOURIERTRANSFORM2(RCICdFxdFy)?Gives?the?real?2D?
%???field?Z(XY)?from?the?components?of?the?complex?2D?Fourier?transform?
%?????????????Cz(FxFy)?=?RC(FxFy)?+?i*IC(FxFy)?=?complex(RCIC)
%???taken?at?dFxdFy?sampling?frequency?interval?via?IFFT2.?The?spatial?2D?
%???frequencies?(FxFy)?must?have?the?origin?at?the?center?and?Fy?must?
%???increase?upwards?contrary?to?the?row?index.
%
%???[ZXY]?=?INVERSEFOURIERTRANSFORM2(CzdFxdFy)?does?the?same?thing.
%
%???[ZXY]?=?INVERSEFOURIERTRANSFORM2(CzdFxdFy‘ifft‘)?does?the?same?
%???thing?but?via?IFFT.?Only?for?academic?purpose.
%
%???[ZXY]?=?INVERSEFOURIERTRANSFORM2(CzdFxdFy‘exp‘)?does?the?same?
%???thing?but?via?complex?exponentials.?Only?for?academic?purpose.?Not?so?
%???fast?as?IFFT?or?IFFT2.
%
%???Inputs:??????????????????????????????????units:????Size:??
%???RC??-?Real?components????????????????????[u*v*w]???Ny?times?Nx
%???IC??-?Imaginary?components???????????????[u*v*w]???Ny?times?Nx
%???(Cz?-?Complex?transform??????????????????[u*v*w]???Ny?times?Nx)
%???dFx?-?Sampling?frequency?interval?at?Fx??[cycle/v]?Scalar
%???dFy?-?Sampling?frequency?interval?at?Fy??[cycle/w]?Scalar
%
%???Outputs:
%???Z???-?2D?real?field??????????????????????[u]???????Ny?times?Nx
%???X???-?x?grid?origin?left-lower?corner????[v]???????Ny?times?Nx
%???Y???-?y?grid?origin?left-lower?corner????[w]???????Ny?times?Nx
%???
%???Note:?the?origin?of?(XY)?is?at?the?(Ny1)?element?(left-bottom?
%???corner)?and?of?(FxFy)?at?the?(Ny-floor(Ny/2)floor(Nx/2)+1)?element?
%???(center).
%
%???Note:?the?components?at?null?frequencies?are:
%??????RC(Ny-floor(Ny/2)floor(Nx/2)+1)?=?mean(Z(:))*(Tx*Ty);??
%??????IC(Ny-floor(Ny/2)floor(Nx/2)+1)?=?0;
%???where?Tx=Nx*dX?and?Ty=Ny*dY?are?the?total?sampling?interval?at?x?and?y.
%
%???Note:?the?Fourier?spatial?frequencies?(cycle/v?cycle/w)?must?be?
%??????nx?=?-floor(Nx/2):(Nx-1)/2;??%?centralized?x?index
%??????ny?=?-floor(Ny/2):(Ny-1)/2;??%?centralized?y?index
%??????ny?=?fliplr(ny);?????????????%?fy?increase?upwards
%??????Fx?=?nx/(Nx*dX);?Fy?=?ny/(Ny*dY);
%??????[FxFy]?=?meshgrid(FxFy);
%
%???Note:?if??dFx?=?1??????????????=>??normalized?space?at?x?(Bloomfield)
%?????????if??dFy?=?1??????????????=>??normalized?space?at?y?(Bloomfield)
%?????????if??dFx?=?1/Nx?or?empty??=>??normalized?frequency?at?x?(MATLAB)
%?????????if??dFy?=?1/Ny?or?empty??=>??normalized?frequency?at?y?(MATLAB)
%
%???Example:
%??????Nx?=?100;?Ny?=?200;?dX?=?120;?dY?=?dX;?
%??????fx1?=?0.0005;?fx2?=?-0.0010;
%??????fy1?=?0.0012;?fy2?=??0.0017;
%??????x?=?(0:Nx-1)*dX;?y??=?fliplr(0:Ny-1)*dY;?[xy]?=?meshgrid(xy);?
%??????z?=?20*sin(2*pi*(fx1*x?+?fy1*y))?+?30*cos(2*pi*(fx2*x?+?fy2*y));
%??????z?=?z?+?rand(size(x));
%??????z?=?z-mean(z(:));
%??????[rcicFxFy]?=?fouriertransform2(zdXdY);?
%??????[
評(píng)論
共有 條評(píng)論