mne_denoise.dss.denoisers.CombFilterBias#
- class mne_denoise.dss.denoisers.CombFilterBias(fundamental_freq: float, sfreq: float, *, n_harmonics: int = 3, q_factor: float = 30.0, weights: ndarray | None = None)[source]#
Comb filter bias for harmonic frequency extraction.
Applies a comb filter that passes the fundamental frequency and its harmonics. Ideal for SSVEP analysis where stimulus frequency creates responses at multiple harmonic frequencies.
- Parameters:
fundamental_freq (float) – Fundamental frequency in Hz (e.g., 15 Hz for SSVEP).
sfreq (float) – Sampling frequency in Hz.
n_harmonics (int) – Number of harmonics to include (1 = fundamental only). Default 3.
q_factor (float) – Quality factor for each peak. Default 30.
weights (array-like, optional) – Weights for each harmonic. If None, uses 1/harmonic_number weighting (decreasing importance of higher harmonics).
Examples
>>> # SSVEP at 15 Hz with 3 harmonics (15, 30, 45 Hz) >>> from mne_denoise.dss.denoisers import CombFilterBias >>> bias = CombFilterBias(fundamental_freq=50, sfreq=1000, n_harmonics=5) >>> biased_data = bias.apply(data) >>> # Custom weighting (equal weight for all harmonics) >>> bias = CombFilterBias( ... fundamental_freq=12, sfreq=500, n_harmonics=4, weights=[1.0, 1.0, 1.0, 1.0] ... )
See also
PeakFilterBiasFor single frequency targets.
Notes
Implements a sum of peak filters at each harmonic. Harmonics above Nyquist frequency are automatically excluded.
References
Särelä & Valpola (2005). Section 4.1.2 “DENOISING BASED ON FREQUENCY CONTENT”
- __init__(fundamental_freq: float, sfreq: float, *, n_harmonics: int = 3, q_factor: float = 30.0, weights: ndarray | None = None) None[source]#
Methods
__init__(fundamental_freq, sfreq, *[, ...])apply(data)Apply comb filter bias.
Attributes
harmonic_frequenciesReturn list of harmonic frequencies being filtered.