Spectrogram¶
Calculate a spectrogram (periodogram) of the given data (that is, a time/frequency representation).
The node will compute a new data array with a typically coarser time axis than the original data, and an additional frequency axis, thus yielding an estimate how the spectral content in the data changes over time. This is done using the Short-Time Fourier Transform (STFT). This node estimates the spectrum over multiple successive (and usually overlapping) sub-windows. The parameters of this node allow to trade off time vs. frequency detail, as well as increase the step size along time and/or frequency. See also the tooltips of these parameters to see how they affect the result. This node operates on short segments of data, so in the case of streaming data the data must first be segmented into windows, i.e., using the Segmentation or Moving Window node. This node will then compute a time/frequency representation for each segment it receives. It will not work on continuous streaming data, since each packet received would contain too few samples to perform a spectrogram on. This node can also be used on "offline" (non-streaming) data, in which case the spectrogram will be computed over the entire dataset at once. More Info... Version 1.2.0
Ports/Properties¶
data¶
Data to process.
segment_samples¶
Length of the sub-windows for spectral estimation. This node will extract successive windows from the given data of this length, which are overlapped according to the overlap samples parameter. Longer windows will give a higher-resolution spectrum, but at the same time the result will increase the smoothness (i.e., blurriness) along the time axis. The tradeoff between time resolution and frequency resolution that can be adjusted via this parameter is fundamental. If unspecified, defaults to 0.5 seconds of data (or equivalent in samples) based on the sampling rate. If specified in seconds, the specified value will be converted to samples at runtime based on the sampling rate of the incoming data.
unit¶
Unit in which the sub-window length is expressed.
overlap_samples¶
Overlap between successive sub-windows, expressed as a fraction of the sub-window length. This determines by how much successive sub-windows are overlapped. Using a higher value will yield finer stepping in time without a change in temporal or frequency detail (since the time axis will be correspondingly more smooth to counter the finer stepping). If unspecified, defaults to half of the sub-window length. If the sub-window length is expressed in samples, this value can also be expressed in samples.
fft_size¶
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 sub-window length.
window¶
Type of window function to apply to sub-windows. Different functions have different spectral and temporal localization characteristics. One of the simplest well-behaved windows is the Hann window (the default).
detrend¶
Sub-window detrending method. In the Welch method, linear trends or constant offsets can be removed from each window prior to spectral estimation.
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 is always two-sided.
scaling¶
Scaling of the spectrum. In density mode, the result is divided by the frequency; this yields the power-spectral density, and is the default. However, this will incur a falloff towards higher frequencies which may be addressed separately using the frequency normalization node.
use_caching¶
Enable caching. This will significantly speed up re-use of the same data. For offline data only.
set_breakpoint¶
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.
metadata¶
User-definable meta-data associated with the node. Usually reserved for technical purposes.