FastFourierTransform¶
Calculate the (one-dimensional) Fast Fourier Transform (FFT) of the given data along some axis.
This is the raw math operation that emits complex-valued data; for nodes that calculate the power spectrum of signals, see the WelchSpectrum and MultitaperSpectrum nodes. This node is useful for full control over the FFT operation or for highly custom use cases. You can configure the frequency resolution of the output using the fft_size parameter (see help text). The node supports all three common normalization modes, and in case of real-valued input data, the node can optionally produce a one-sized spectrum (equivalent to the RFFT operation in common numerical libraries). This node will replace the original axis of the data by a frequency axis, carrying over the axis label, if any. In contrast to the WelchSpectrum etc nodes, this node will not retain a dummy one-element time axis. More Info... Version 1.0.0
Ports/Properties¶
data¶
Data to process.
- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
axis¶
Axis along which the FFT will be calculated. You can also enter the axis label here as in time.mylabel. If the data is not a packet, any named axis will translate to -1.
- verbose name: Axis
- default value: time
- port type: ComboPort
- value type: str (can be None)
n¶
Length of the FFT used, in samples. Using a higher number will yield a finer stepping along the frequency axis, without a change in frequency or temporal detail (the frequency axis will be correspondingly more smooth to counter the finer stepping). If not given, it defaults to the size of the data along that axis. The implementation is equivalent to either zero-padding or truncating the data to the given length before calculating the FFT.
- verbose name: Fft Size
- default value: None
- port type: IntPort
- value type: int (can be None)
normalization¶
Normalization to apply to the FFT. Backward means that the forward FFT is unscaled and the corresponding inverse FFT is scaled by 1/n. Ortho means that both the forward and inverse FFT are scaled by 1/sqrt(n). Forward means that the forward FFT is scaled by 1/n and the corresponding inverse FFT is unscaled.
- verbose name: Normalization
- default value: backward
- port type: EnumPort
- value type: str (can be None)
onesided¶
Return one-sided spectrum. If disabled, a two-sided (meaning: symmetric about the middle) spectrum will be computed, which is redundant for real-valued data, but required for complex-valued data (for complex data, the spectrum should always be two-sided). This is equivalent to the FFT / RFFT distinction in numerical subroutines, e.g., numpy.
- verbose name: Return One-Sided Spectrum
- default value: False
- port type: BoolPort
- value type: bool (can be None)
partition_axis¶
Axis along which to partition the computation. This can be used to reduce the memory requirements on large data.
- verbose name: Partition Axis
- default value: disabled
- port type: ComboPort
- value type: object (can be None)
num_partitions¶
Number of partitions to use. The memory usage is divided by this amount. Requires that partition_axis is set to something other than disabled.
- verbose name: Num Partitions
- default value: 4
- port type: IntPort
- value type: int (can be None)
set_breakpoint¶
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.
- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
metadata¶
User-definable meta-data associated with the node. Usually reserved for technical purposes.
- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)