Package: dsp
Inverse discrete Fourier transform (IDFFT)
The IFFT
object computes the inverse discrete
Fourier transform (IDFFT) of the input. 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 bitreversed order:
Doublesignal algorithm
Halflength algorithm
Radix2 decimationintime (DIT) algorithm
Radix2 decimationinfrequency (DIF) algorithm
To compute the IFFT of the input:
Define and set up your IFFT object. See Construction.
Call step
to compute the IFFT of the input according
to the properties of dsp.IFFT
. The behavior of step
is
specific to each object in the toolbox.
H = dsp.IFFT
returns
an IFFT
object, H
, that computes
the IDFT of a column vector or ND array. For column
vectors or ND arrays, the IFFT
object computes the
IDFT along the first dimension of the array. If the input is a row
vector, the IFFT
object computes a row of singlesample
IDFTs and issues a warning.
H = dsp.IFFT('
returns an PropertyName
',PropertyValue
,
...)IFFT
object, H
,
with each property set to the specified value.

FFT implementation Specify the implementation used for the FFT as one of 

Enable bitreversed order interpretation of input elements Set this property to 

Enable conjugate symmetric interpretation of input Set this property to 

Enable dividing output by FFT length Specify whether to divide the IFFT output by the FFT length.
The default is 

Source of FFT length Specify how to determine the FFT length as 

FFT length Specify the FFT length as a numeric scalar. This property applies
when you set the This property must be a power of two when the input is a fixedpoint
data type, or when you set the When you set the 

Boolean value of wrapping or truncating input Wrap input data when 
clone  Create IFFT object with same property values 
getNumInputs  Number of expected inputs to step method 
getNumOutputs  Number of outputs of step method 
isLocked  Locked status for input attributes and nontunable properties 
release  Allow property value and input characteristics changes 
step  Inverse discrete Fourier transform of input 
Use DFT and IDFT to analyze the energy content in a sequence:
Fs = 40; L = 128; t = (0:L1)'/Fs; x = sin(2*pi*10*t) + 0.75*cos(2*pi*15*t); y = x + .5*randn(size(x)); % noisy signal hfft = dsp.FFT; hifft = dsp.IFFT('ConjugateSymmetricInput', true); X = step(hfft, x); [XX, ind] = sort(abs(X),1,'descend'); XXn = sqrt(cumsum(XX.^2))/norm(XX); ii = find(XXn > 0.999, 1); disp('Number of FFT coefficients that represent 99.9% ') disp(['of the total energy in the sequence: ', num2str(ii)]); XXt = zeros(128,1); XXt(ind(1:ii)) = X(ind(1:ii)); xt = step(hifft, XXt); % Verify the reconstructed signal matches the original norm(xxt)
This object implements the algorithm, inputs, and outputs described on the IFFT block reference page. The object properties correspond to the block parameters, except:
Output sampling mode parameter is not
supported by dsp.IFFT . 
[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. 13811384.