Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# 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).

## 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.

## Methods

 clone Create IFFT object with same property values getNumInputs Number of expected inputs to step method getNumOutputs Number of outputs from step method isLocked Locked status for input attributes and nontunable properties release Allow property value and input characteristics changes step Compute 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

% 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.