diff options
Diffstat (limited to 'pyecsca/sca/trace/filter.py')
| -rw-r--r-- | pyecsca/sca/trace/filter.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/pyecsca/sca/trace/filter.py b/pyecsca/sca/trace/filter.py index cb5dde6..720d311 100644 --- a/pyecsca/sca/trace/filter.py +++ b/pyecsca/sca/trace/filter.py @@ -1,3 +1,6 @@ +""" +This module provides functions for filtering traces using digital (low/high/band)-pass and bandstop filters. +""" from public import public from scipy.signal import butter, lfilter from typing import Union, Tuple @@ -5,8 +8,8 @@ from typing import Union, Tuple from .trace import Trace -def filter_any(trace: Trace, sampling_frequency: int, - cutoff: Union[int, Tuple[int, int]], band_type: str) -> Trace: +def _filter_any(trace: Trace, sampling_frequency: int, + cutoff: Union[int, Tuple[int, int]], band_type: str) -> Trace: nyq = 0.5 * sampling_frequency if not isinstance(cutoff, int): b, a = butter(6, tuple(map(lambda x: x / nyq, cutoff)), btype=band_type, analog=False, output='ba') @@ -26,7 +29,7 @@ def filter_lowpass(trace: Trace, sampling_frequency: int, cutoff: int) -> Trace: :param cutoff: :return: """ - return filter_any(trace, sampling_frequency, cutoff, "lowpass") + return _filter_any(trace, sampling_frequency, cutoff, "lowpass") @public @@ -40,7 +43,7 @@ def filter_highpass(trace: Trace, sampling_frequency: int, cutoff: int) -> Trace :param cutoff: :return: """ - return filter_any(trace, sampling_frequency, cutoff, "highpass") + return _filter_any(trace, sampling_frequency, cutoff, "highpass") @public @@ -55,7 +58,7 @@ def filter_bandpass(trace: Trace, sampling_frequency: int, low: int, high: int) :param high: :return: """ - return filter_any(trace, sampling_frequency, (low, high), "bandpass") + return _filter_any(trace, sampling_frequency, (low, high), "bandpass") @public @@ -70,4 +73,4 @@ def filter_bandstop(trace: Trace, sampling_frequency: int, low: int, high: int) :param high: :return: """ - return filter_any(trace, sampling_frequency, (low, high), "bandstop") + return _filter_any(trace, sampling_frequency, (low, high), "bandstop") |
