Latency of FFT calculation
Explore Latency of HDL FFT Object
The latency of the object varies with the FFT length and the vector size. Use the
getLatency function to find the latency of a particular configuration. The latency is the number of cycles between the first valid input and the first valid output, assuming that the input is contiguous.
Create a new
dsphdl.FFT object and request the latency.
hdlfft = dsphdl.FFT('FFTLength',512); L512 = getLatency(hdlfft)
L512 = 599
Request hypothetical latency information about a similar object with a different FFT length. The properties of the original object do not change.
L256 = getLatency(hdlfft,256)
L256 = 329
N = hdlfft.FFTLength
N = 512
Request hypothetical latency information of a similar object that accepts eight-sample vector input.
L256v8 = getLatency(hdlfft,256,8)
L256v8 = 93
Enable scaling at each stage of the FFT. The latency does not change.
hdlfft.Normalize = true; L512n = getLatency(hdlfft)
L512n = 599
Request the same output order as the input order. The latency increases because the object must collect the output before reordering.
hdlfft.BitReversedOutput = false; L512r = getLatency(hdlfft)
L512r = 1078
N — FFT length
integer power of 2 from 22 to
FFT length, specified as an integer power of 2 from
22 to 216. Use
this argument to request the latency of an object similar to
hdlfft, but with FFT length
V — Vector size
power of 2 from 1 to 64
Vector size, specified as a power of 2 from 1 to 64. The vector size
cannot be greater than the FFT length. Use this argument to request the
latency of an object similar to
hdlfft, but with
V-sample vector input. When you do not specify this
argument, the function assumes scalar input.
Y — Cycles of latency
Cycles of latency that the object takes to calculate the FFT of an input frame, returned as an integer. The latency is the number of cycles between the first valid input and the first valid output, assuming the input is contiguous. Each call to the object simulates one cycle.