资源简介
傅里叶反变换的原理详述,自编函数可以调用,也可以读取程序,理解算法原理
代码片段和文件信息
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);
% [
相关资源
- 修正残差的GM(11)模型Matlab代码
- SDIF算法Matlab程序
- 三维B样条曲线拟合Matlab程序
- 基于MATLAB的锅炉水温与流量串级控制
- 支持向量机 MATLAB程序
- OFDM峰平比及matlab程序仿真
- matlab的TCM编译码器
- 基于MATLAB+GUI自由拖动点调试曲线
- 最简单的恒压频比Matlab仿真
- MPU6050 去除重力分量算法
- ARIMA时间序列预测的matlab实现
- 滚动时域优化RHCMATLAB源代码
- matlab音频加回声
- MATLAB语音识别系统含源代码
- ocr识别MATLAB
- 四元数与姿态角转换matlab程序
- 红绿灯识别程序
- 基于小波变换的数字水印嵌入与提取
- matlab 判断唯一可译码
- CT图像重建SART算法matlab代码
- 并网逆变器
- 转子系统固有频率的传递矩阵计算方
- 把图像分割成RGB通道的MATLAB代码
- 帧差法matlab代码
- matlab正弦信号高斯处理
- matlab GAOT工具包
- Matlab版本的卷积神经网络案例
- DS证据理论的MATLAB案例程序源代码
- 深度学习Matlab代码,亲测可以用。有
- 人工鱼群算法求解tsp问题matlab
评论
共有 条评论