Filter Bank
Description
This module implements a filter bank for EEG data. The filterbank function applies multiple bandpass filters to the input signal, allowing for the extraction of frequency-specific features.
Function
- bciflow.modules.tf.filterbank.filterbank(eegdata, low_cut=[4, 8, 12, 16, 20, 24, 28, 32, 36], high_cut=[8, 12, 16, 20, 24, 28, 32, 36, 40], kind_bp='conv', **kwargs)[source]
- Parameters:
eegdata (dict) – A dictionary containing the EEG data, where the key ‘X’ holds the raw signal.
low_cut (int or list) – A list of lower cutoff frequencies for each bandpass filter.
high_cut (int or list) – A list of upper cutoff frequencies for each bandpass filter.
kind_bp (str) – The type of bandpass filter to use. Options are ‘conv’ (convolution-based) and ‘chebyshevII’ (Chebyshev Type II filter)
kwargs (dict) – Additional arguments to be passed to the filter function.
- Returns:
output – The original dictionary with the filtered data stored under the key ‘X’.
- Return type:
dict
- The implementation supports two types of bandpass filters:
Convolution-based filtering (bandpass_conv).
Chebyshev Type II filtering (chebyshevII).
- For more details on filter banks and bandpass filtering, refer to:
Oppenheim, A. V., & Schafer, R. W. (2010). Discrete-Time Signal Processing. Pearson.
Smith, S. W. (1997). The Scientist and Engineer’s Guide to Digital Signal Processing. California Technical Publishing.