Documentation Center

  • Trial Software
  • Product Updates

vision.IFFT System object

Package: vision

Two–dimensional inverse discrete Fourier transform

Description

The vision.IFFT object computes the inverse 2D discrete Fourier transform (IDFT) of a two-dimensional input matrix. The object uses one or more of the following fast Fourier transform (FFT) algorithms depending on the complexity of the input and whether the output is in linear or bit-reversed order:

  • Double-signal algorithm

  • Half-length algorithm

  • Radix-2 decimation-in-time (DIT) algorithm

  • Radix-2 decimation-in-frequency (DIF) algorithm

  • An algorithm chosen by FFTW [1], [2]

Construction

H = vision.IFFT returns a 2D IFFT object, H, with the default property and value pair settings.

H = vision.IFFT(Name,Value) returns a 2D IFFT object, H, with each property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1, Value1,...,NameN,ValueN).

Code Generation Support
Supports MATLAB® Function block: Yes
System Objects in MATLAB Code Generation.
Code Generation Support, Usage Notes, and Limitations.

Properties

FFTImplemenation

FFT implementation

Specify the implementation used for the FFT as one of Auto | Radix-2 | FFTW. When you set this property to Radix-2, the FFT length must be a power of two.

BitReversedInput

Indicates whether input is in bit-reversed order

Set this property to true if the order of 2D FFT transformed input elements are in bit-reversed order. The default is false, which denotes linear ordering.

ConjugateSymmetricInput

Indicates whether input is conjugate symmetric

Set this property to true if the input is conjugate symmetric. The 2D DFT of a real valued signal is conjugate symmetric and setting this property to true optimizes the 2D IFFT computation method. Setting this property to false for conjugate symmetric inputs results in complex output values with nonzero imaginary parts. Setting this property to true for non conjugate symmetric inputs results in invalid outputs. This property must be false for fixed-point inputs. The default is true.

Normalize

Divide output by FFT length

Specify if the 2D IFFT output should be divided by the FFT length. The value of this property defaults to true and divides each element of the output by the product of the row and column dimensions of the input matrix.

 Fixed-Point Properties

Methods

cloneCreate IFFT object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
release Allow property value and input characteristics changes
stepCompute 2D inverse discrete Fourier transform

Examples

Use the 2D IFFT object to convert an intensity image.

 hfft2d = vision.FFT;
 hifft2d = vision.IFFT;

% Read in the image
 		xorig = single(imread('cameraman.tif'));

% Convert the image from the spatial 
% to frequency domain and back
 		Y = step(hfft2d, xorig);
		xtran = step(hifft2d, Y);

% Display the newly generated intensity image
 		imshow(abs(xtran), []); 

Algorithms

This object implements the algorithm, inputs, and outputs described on the 2-D IFFT block reference page. The object properties correspond to the Simulink® block parameters.

References

[1] FFTW (http://www.fftw.org)

[2] Frigo, M. and S. G. Johnson, "FFTW: An Adaptive Software Architecture for the FFT,"Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, Vol. 3, 1998, pp. 1381-1384.

See Also

| |

Was this topic helpful?