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:
  1. Convolution-based filtering (bandpass_conv).

  2. 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.