dsphdl.IFFT
Compute inverse fast Fourier transform (IFFT)
Description
The dsphdl.IFFT
System object™ provides two architectures to optimize either throughput or area. Use the
streaming Radix 2^2 architecture for high-throughput applications. This architecture supports
scalar or vector input data. You can achieve gigasamples-per-second (GSPS) throughput using
vector input. Use the burst Radix 2 architecture for a minimum resource implementation,
especially with large FFT sizes. Your system must be able to tolerate bursty data and higher
latency. This architecture supports only scalar input data. The object accepts real or complex
data, provides hardware-friendly control signals, and has optional output frame control
signals.
To calculate the inverse fast Fourier transform:
Create the
dsphdl.IFFT
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Note
You can also generate HDL code for this hardware-optimized algorithm, without creating a MATLAB® script, by using the DSP HDL IP Designer app. The app provides the same interface and configuration options as the System object.
Creation
Description
returns an HDL IFFT
System object, IFFT_N
= dsphdl.IFFTIFFT_N
, that performs a fast Fourier transform.
sets
properties using one or more name-value arguments.IFFT_N
= dsphdl.IFFT(Name=Value)
Example: ifft128 = dsphdl.IFFT(FFTLength=128)
Properties
Usage
Syntax
Description
[
returns the inverse fast Fourier transform (IFFT) when using the burst Radix 2
architecture. The Y
,validOut
,ready
]
= IFFT_N(X
,validIn
)ready
signal indicates when the object has memory
available to accept new input samples. You must apply input data
and
valid
signals only when ready
is
1
(true). The object ignores the input data
and
valid
signals when ready
is
0
(false).
To use this syntax, set the Architecture
property to 'Burst Radix 2'
. For example:
IFFT_N = dsphdl.IFFT(___,Architecture='Burst Radix 2'); ... [y,validOut,ready] = IFFT_N(x,validIn)
[
also returns frame control signals Y
,startOut
,endOut
,validOut
]
= IFFT_N(X
,validIn
)startOut
and
endOut
. startOut
is true
on
the first sample of a frame of output data. endOut
is
true
for the last sample of a frame of output data.
To use this syntax, set the StartOutputPort
and EndOutputPort
properties to true
. For example:
IFFT_N = dsphdl.IFFT(___,StartOutputPort=true,EndOutputPort=true);
...
[y,startOut,endOut,validOut] = IFFT_N(x,validIn)
[
returns the IFFT, Y
,validOut
]
= IFFT_N(X
,validIn
,resetIn
)Y
, when validIn
is
true
and resetIn
is false
.
When resetIn
is true
, the object stops the current
calculation and clears all internal state.
To use this syntax, set the ResetInputPort
property to true
. For example:
IFFT_N = dsphdl.IFFT(___,ResetInputPort=true);
...
[y,validOut] = IFFT_N(x,validIn,resetIn)
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)