Module quantum_inferno.styx_fft
This module calculates spectra: STFT, FFT
Functions
def butter_bandpass(sig_wf: numpy.ndarray, frequency_sample_rate_hz: float, frequency_cut_low_hz, frequency_cut_high_hz, filter_order: int = 4, tukey_alpha: float = 0.5) ‑> numpy.ndarray
-
Butterworth bandpass filter
:param sig_wf: signal waveform as numpy array :param frequency_sample_rate_hz: frequency sample rate in Hz :param frequency_cut_low_hz: frequency low value :param frequency_cut_high_hz: frequency high value :param filter_order: filter order :param tukey_alpha: Tukey window alpha :return: filtered signal waveform as numpy array
def butter_highpass(sig_wf: numpy.ndarray, frequency_sample_rate_hz: float, frequency_cut_low_hz: Union[float, int], filter_order: int = 4, tukey_alpha: float = 0.5) ‑> numpy.ndarray
-
Butterworth bandpass filter
:param sig_wf: signal waveform as numpy array :param frequency_sample_rate_hz: frequency sample rate in Hz :param frequency_cut_low_hz: frequency low value :param filter_order: filter order :param tukey_alpha: Tukey window alpha :return: filtered signal waveform as numpy array
def butter_lowpass(sig_wf: numpy.ndarray, frequency_sample_rate_hz: float, frequency_cut_high_hz: Union[float, int], filter_order: int = 4, tukey_alpha: float = 0.5) ‑> numpy.ndarray
-
Butterworth bandpass filter
:param sig_wf: signal waveform as numpy array :param frequency_sample_rate_hz: frequency sample rate in Hz :param frequency_cut_high_hz: frequency low value :param filter_order: filter order :param tukey_alpha: Tukey window alpha :return: filtered signal waveform as numpy array
def gtx_complex_pow2(sig_wf: numpy.ndarray, frequency_sample_rate_hz: float, segment_points: int, gaussian_sigma: int = None, overlap_points: int = None, nfft_points: int = None) ‑> Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray]
-
Gaussian taper with 50% overlap and built-in defaults
:param sig_wf: signal waveform as numpy array :param frequency_sample_rate_hz: frequency sample rate in Hz :param segment_points: number of points in a segment :param gaussian_sigma: gaussian window variance :param overlap_points: number of points in overlap :param nfft_points: length of FFT :return: frequency_stft_hz, time_stft_s, stft_complex
def stft_complex_pow2(sig_wf: numpy.ndarray, frequency_sample_rate_hz: float, segment_points: int, overlap_points: int = None, nfft_points: int = None, alpha: float = 0.25) ‑> Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray]
-
Simplest, with 50% overlap and built-in defaults
:param sig_wf: signal waveform as numpy array :param frequency_sample_rate_hz: frequency sample rate in Hz :param segment_points: number of points in a segment :param overlap_points: number of points in overlap :param nfft_points: length of FFT :param alpha: Tukey window alpha :return: frequency_stft_hz, time_stft_s, stft_complex
def welch_power_pow2(sig_wf: numpy.ndarray, frequency_sample_rate_hz: float, segment_points: int, nfft_points: int = None, overlap_points: int = None, alpha: float = 0.25) ‑> Tuple[numpy.ndarray, numpy.ndarray]
-
Simplest, with 50% overlap and built-in defaults
:param sig_wf: signal waveform as numpy array :param frequency_sample_rate_hz: frequency sample rate in Hz :param segment_points: number of points in a segment :param overlap_points: number of points in overlap :param nfft_points: length of FFT :param alpha: Tukey window alpha :return: frequency_welch_hz, welch_power