FFT

From GNU Radio
Revision as of 23:57, 3 May 2019 by 777arc (talk | contribs)
Jump to navigation Jump to search

This block takes in a vector of floats or complex values and calculates the FFT. If all you do is want to see the frequency domain of a signal, the QT GUI Frequency Sink is more user friendly. Note that if the input signal is complex, the output will be complex, so you must use a Complex to Mag or similar block if you want to see magnitude.

Parameters

  1. FFT Size: Number of samples used in each FFT calculation, which also determines how many points are in the output.
  2. Forward/Reverse: Whether to do an FFT or IFFT.
  3. Window: Type of window to apply to each set of samples before the FFT is taken, default is a blackmanharris window. The argument of the window.blackmanharris() function is simply how many points in the window, which must match the FFT size.
  4. Shift: Whether or not to do an "fft shift" which puts DC (0 Hz) in the center. If you are not sure what this means, leave it set to Yes.
  5. Num Threads: Number of threads to assign to perform the FFTs.

Example Flowgraph

This flowgraph shows how the FFT block can be used to reproduce the behavior of the QT GUI Frequency Sink block. Both outputs match (besides an arbitrary scaling factor), but using the FFT block directly requires converting from a stream to vector, and performing the magnitude and log manually.

Fft-ex.png

Fft-ex-output.png