skdh.features.DominantFrequency#
- class skdh.features.DominantFrequency(padlevel=2, low_cutoff=0.0, high_cutoff=5.0)#
The primary frequency in the signal. Computed using the FFT and finding the maximum value of the power spectral density in the specified range of frequencies.
- Parameters:
- padlevelint, optional
Padding (factors of 2) to use in the FFT computation. Default is 2.
- low_cutofffloat, optional
Low value of the frequency range to look in. Default is 0.0 Hz
- high_cutofffloat, optional
High value of the frequency range to look in. Default is 5.0 Hz
- Attributes:
- high_cut
- low_cut
- pad
Methods
compute(signal[, fs, axis])Compute the dominant frequency
Notes
The padlevel parameter effects the number of points to be used in the FFT computation by factors of 2. The computation of number of points is per
\[nfft = 2^{ceil(log_2(N)) + padlevel}\]So padlevel=2 would mean that for a signal with length 150, the number of points used in the FFT would go from 256 to 1024.
- compute(signal, fs=1.0, *, axis=-1)#
Compute the dominant frequency
- Parameters:
- signalarray-like
Array-like containing values to compute the dominant frequency for.
- fsfloat, optional
Sampling frequency in Hz. If not provided, default is assumed to be 1Hz.
- axisint, optional
Axis along which the signal entropy will be computed. Ignored if signal is a pandas.DataFrame. Default is last (-1).
- Returns:
- dom_freqnumpy.ndarray
Computed dominant frequency.