IFTSolver
Description
Creation
Syntax
solver = IFTSolver(
solver = IFTSolver(
Description
solver = IFTSolver("integral2") creates an IFTSolver object that uses MATLAB’s built-in integral2 method to solve the 2-D inverse Fourier transform.
\( \breve{T}_f \left( x, y, 0, f \right) = \int_{-\infty}^\infty \int_{-\infty}^\infty \hat{T}_f \left( u, v, 0, f \right) \, \exp \left( 2 i \pi \left( u x + v y \right) \right) \, du \, dv \)
solver = IFTSolver("ifft2",Name,Value) creates an IFTSolver object that uses MATLAB’s built-in ifft2 method—with options specified as name-value arguments—to solve the 2-D inverse Fourier transform.
Input Arguments
method - 2-D inverse Fourier transform method
"ifft2" | "integral2" | IFTEnum object
2-D inverse Fourier transform method. When possible, the
ifft2
method should be used for its computational efficiency.
However, if greater accuracy is needed, the
integral2
method may be used instead.
When ift_method = "ifft2", name-value arguments must also be provided.
char and string inputs are case-insensitive and may be specified as a unique leading substring of any one of the above listed options.
Data Types: char | string | IFTEnum object
Name-Value Arguments
x_max - Maximum spatial distance from pump
positive real scalar | 1-by-2 positive real vector
Maximum spatial distance from the pump in the x- and y-directions used in the 2-D inverse fast Fourier transform
(ifft2).
When provided as a scalar, dx is expanded (copied) to a 1-by-2 vector.
Data Types: double | single
dx - Descrete spatial step size
positive real scalar | 1-by-2 positive real vector
Descrete spatial step size—i.e., sampling period—in the x- and y-directions used in the 2-D inverse fast Fourier transform
(ifft2).
When provided as a scalar, dx is expanded (copied) to a 1-by-2 vector.
When not provided, dx is calculated as x_max ./ floor(Nx/2).
Data Types: double | single
Nx - Number of spatial steps
[256, 256] (default) | positive integer scalar | 1-by-2 positive integer vector
Number of descrete spatial points—i.e., signal length—in the x- and y-directions used in the 2-D inverse fast Fourier transform
(ifft2).
When possible, the value of Nx should only have small prime factors as this results in significantly faster execution of the
ifft2
transform.
When provided as a scalar, Nx is expanded (copied) to a 1-by-2 vector.
When not provided, but x_max and dx are, Nx is calculated as floor(x_max/dx) * 2 + 1.
Data Types: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32
Properties
In addition to storing the method argument as a property, the following properties are commputed and stored if the ifft2 method is used.
x - descrete spatial vector
Read only: double column vector
Descrete spatial vector in the x-direction, calculated as dx(1) * (-floor(Nx(1)/2) : ceil(Nx(1)/2) - 1).
Data Type: double
y - descrete spatial vector
Read only: double column vector
Descrete spatial vector in the y-direction, calculated as dx(2) * (-floor(Nx(2)/2) : ceil(Nx(2)/2) - 1).
Data Type: double
u - descrete spatial-frequency vector
Read only: double column vector
Descrete spatial-frequency vector in the x-direction, calculated as (-floor(Nx(1)/2) : ceil(Nx(1)/2) - 1) / (Nx(1) * dx(1)).
Data Type: double
v - descrete spatial-frequency vector
Read only: double column vector
Descrete spatial-frequency vector in the y-direction, calculated as (-floor(Nx(2)/2) : ceil(Nx(2)/2) - 1) / (Nx(2) * dx(2)).
Data Type: double
Object Functions
solve
|
Solves the 2-D inverse Fourier transform |