Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

FFT Express VI

LabVIEW 8.6 FPGA Module Help
June 2008

NI Part Number:
371599D-01

»View Product Info

Owning Palette: FPGA Math & Analysis VIs

Installed With: FPGA Module

Computes the Fast Fourier Transform (FFT) point by point. Use this Express VI after you use the Scaled Window Express VI to minimize spectral leakage associated with truncated waveforms.

Details  

Dialog Box Options
Block Diagram Inputs
Block Diagram Outputs

Dialog Box Options

ParameterDescription
Transform ParametersContains the following options:
  • Length—Specifies the length, also known as the frame size, of the transform the Express VI calculates. Valid options are powers of two between 8 and 8192.
  • Direction—Specifies whether to calculate a forward or inverse (IFFT) transform.
Input Data TypeContains the following options:
  • Signed—Specifies signed integers for the inputs.
  • Unsigned—Specifies unsigned integers for the inputs.
  • Word length—Specifies any input word length in the range of [8, 24].
  • Integer word length—Specifies the input integer word length.
ExecutionContains the following options:
  • Outside single-cycle Timed Loop—Select this option when you want to use this Express VI outside of a single-cycle Timed Loop. Using this Express VI outside the single-cycle Timed Loop produces a latency of 2 x Length, which means that it takes two times Length calls to the Express VI before a valid output bin is returned. After the initial latency, the Express VI returns a valid output bin every time it is called.
  • Inside single-cycle Timed Loop—Select this option when you want to use this Express VI inside a single-cycle Timed Loop. Selecting Inside single-cycle Timed Loop enables the Throughput option. When you execute this Express VI inside the single-cycle Timed Loop, you can use the handshaking signals to schedule the timing of data.
  • Throughput—Specifies the minimum number of cycles between two successive frames of valid input data. This option is available only if you select Inside single-cycle Timed Loop.
    Tip  Setting Throughput to 1 consumes several times more resources, so you should only select 1 if you need higher throughput.
  • Latency—Indicates the latency associated with the configuration you select.
Output Data TypeContains the following options:
  • Adapt to source—Specifies whether the Express VI decides the output data type. Do not place a checkmark in this checkbox if you want to use the Word length control to determine the output data type.
  • Word length—Specifies any output word length in the range of [8, 32]. This control is available only if you did not place a checkmark in the Adapt to source checkbox. Output Word length must be between input Word length and 32 if the input is signed. Output Word length must be between input Word length + 1 and 32 if the input is unsigned.

    Tip  Decreasing the output Word length saves resources but also reduces precision. National Instruments recommends that you simulate the configuration you are considering to ensure that the precision you achieve meets your needs.
  • Integer word length—Indicates the output integer word length that the Express VI calculates.
GenerateWhen you complete changes in the configuration dialog box that cause the FFT VI to generate new code, click the Generate button to generate the FFT code. This generation process might take up to several minutes.

Block Diagram Inputs

ParameterDescription
resetClears all internal states on the cycle or call for which this signal is TRUE. Outside the single-cycle Timed Loop, the Express VI restarts on the same call that reset is TRUE. Inside the single-cycle Timed Loop, the Express VI restarts on the first call that reset is deasserted after reset is TRUE. Additionally, the handshaking signals behave as follows during the cycles where reset is asserted:
  • input valid is ignored.
  • ready for output is ignored.
  • output valid is FALSE.
  • ready for input is FALSE, which handles cases where reset is held TRUE for a long time. The Express VI is not ready for inputs when reset is asserted.
real data inSpecifies the real part of the input signal.
imaginary data inSpecifies the imaginary part of the input signal. Leave this terminal unwired to read only real data.
input validSpecifies that the next data point has arrived for processing. This terminal is available only when you have selected Inside single-cycle Timed Loop. The input valid terminal is required inside the single-cycle Timed Loop.
ready for outputSpecifies that the rest of the block diagram is ready for the Express VI to output a new value. The default is TRUE. This terminal is available only when you have selected Inside single-cycle Timed Loop.
Note  If this signal is FALSE on a given cycle, the output valid signal is also FALSE for that cycle.

Block Diagram Outputs

ParameterDescription
data indexIndicates which FFT bin the VI is outputting.
real data outReturns the real part of the FFT result.
imaginary data outReturns the imaginary part of the FFT result.
output validIndicates that the Express VI has updated the current data point and the data point is ready to be used by downstream LabVIEW objects.
ready for inputIndicates that the Express VI is ready to accept new input data. This terminal is available only when you are using the Express VI inside the single-cycle Timed Loop.
Note  If this signal is FALSE on a given cycle, the Express VI does not accept data on the following cycle. If input valid is TRUE on the following cycle, the input data is lost.

FFT Details

Timing Diagram Outside the Single-Cycle Timed LoopThe following diagram demonstrates timing when you use this Express VI outside of the single-cycle Timed Loop.



Timing Diagram Inside the Single-Cycle Timed Loop when Throughput is Equal to 1

The following diagram demonstrates timing when you use this Express VI inside the single-cycle Timed Loop with Throughput equal to 1.





Timing Diagram Inside the Single-Cycle Timed Loop when Throughput is Not Equal to 1

The following diagram demonstrates timing when you use this Express VI inside the single-cycle Timed Loop with Throughput not equal to 1.






Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit