ezmsg.sigproc.combfilter#
Functions
- comb(axis, fundamental_freq=50.0, num_harmonics=3, q_factor=35.0, filter_type='notch', coef_type='sos', quality_scaling='constant')[source]#
Create a comb filter for enhancing or removing a fundamental frequency and its harmonics.
- Parameters:
axis (str | None) – Axis to filter along
fundamental_freq (float) – Base frequency in Hz
num_harmonics (int) – Number of harmonic peaks/notches (including fundamental)
q_factor (float) – Quality factor for peak/notch width
filter_type (str) – ‘notch’ to remove or ‘peak’ to enhance harmonics
coef_type (str) – Coefficient type (‘sos’ recommended for stability)
quality_scaling (str) – How to handle bandwidths across harmonics
- Returns:
CombFilterTransformer
- Return type:
- comb_design_fun(fs, fundamental_freq=60.0, num_harmonics=3, q_factor=35.0, filter_type='notch', coef_type='sos', quality_scaling='constant')[source]#
Design a comb filter as cascaded second-order sections targeting a fundamental frequency and its harmonics.
Classes
- class CombFilterSettings(axis=None, coef_type='ba', fundamental_freq=60.0, num_harmonics=3, q_factor=35.0, filter_type='notch', quality_scaling='constant')[source]#
Bases:
FilterBaseSettingsSettings for
CombFilter.- Parameters:
- filter_type: str = 'notch'#
‘notch’ removes harmonics, ‘peak’ passes harmonics at the expense of others.
- Type:
Type of comb filter
- quality_scaling: str = 'constant'#
same quality for all harmonics results in wider bands at higher frequencies, ‘proportional’: quality proportional to frequency results in constant bandwidths.
- Type:
’constant’
- __init__(axis=None, coef_type='ba', fundamental_freq=60.0, num_harmonics=3, q_factor=35.0, filter_type='notch', quality_scaling='constant')#
- class CombFilterTransformer(*args, **kwargs)[source]#
Bases:
FilterByDesignTransformer[CombFilterSettings,tuple[ndarray[tuple[Any, …],dtype[_ScalarT]],ndarray[tuple[Any, …],dtype[_ScalarT]]] |ndarray[tuple[Any, …],dtype[_ScalarT]]]
- class CombFilterUnit(*args, settings=None, **kwargs)[source]#
Bases:
BaseFilterByDesignTransformerUnit[CombFilterSettings,CombFilterTransformer]- Parameters:
settings (Settings | None)
- SETTINGS#
alias of
CombFilterSettings
- class CombFilterSettings(axis=None, coef_type='ba', fundamental_freq=60.0, num_harmonics=3, q_factor=35.0, filter_type='notch', quality_scaling='constant')[source]#
Bases:
FilterBaseSettingsSettings for
CombFilter.- Parameters:
- filter_type: str = 'notch'#
‘notch’ removes harmonics, ‘peak’ passes harmonics at the expense of others.
- Type:
Type of comb filter
- quality_scaling: str = 'constant'#
same quality for all harmonics results in wider bands at higher frequencies, ‘proportional’: quality proportional to frequency results in constant bandwidths.
- Type:
’constant’
- __init__(axis=None, coef_type='ba', fundamental_freq=60.0, num_harmonics=3, q_factor=35.0, filter_type='notch', quality_scaling='constant')#
- comb_design_fun(fs, fundamental_freq=60.0, num_harmonics=3, q_factor=35.0, filter_type='notch', coef_type='sos', quality_scaling='constant')[source]#
Design a comb filter as cascaded second-order sections targeting a fundamental frequency and its harmonics.
- class CombFilterTransformer(*args, **kwargs)[source]#
Bases:
FilterByDesignTransformer[CombFilterSettings,tuple[ndarray[tuple[Any, …],dtype[_ScalarT]],ndarray[tuple[Any, …],dtype[_ScalarT]]] |ndarray[tuple[Any, …],dtype[_ScalarT]]]
- class CombFilterUnit(*args, settings=None, **kwargs)[source]#
Bases:
BaseFilterByDesignTransformerUnit[CombFilterSettings,CombFilterTransformer]- Parameters:
settings (Settings | None)
- SETTINGS#
alias of
CombFilterSettings
- comb(axis, fundamental_freq=50.0, num_harmonics=3, q_factor=35.0, filter_type='notch', coef_type='sos', quality_scaling='constant')[source]#
Create a comb filter for enhancing or removing a fundamental frequency and its harmonics.
- Parameters:
axis (str | None) – Axis to filter along
fundamental_freq (float) – Base frequency in Hz
num_harmonics (int) – Number of harmonic peaks/notches (including fundamental)
q_factor (float) – Quality factor for peak/notch width
filter_type (str) – ‘notch’ to remove or ‘peak’ to enhance harmonics
coef_type (str) – Coefficient type (‘sos’ recommended for stability)
quality_scaling (str) – How to handle bandwidths across harmonics
- Returns:
CombFilterTransformer
- Return type: