MNE-CPP  0.1.9
A Framework for Electrophysiology
Public Member Functions | Static Public Attributes | List of all members
RTPROCESSINGLIB::FilterKernel Class Reference

The FilterKernel class provides methods to create/design a FIR filter kernel. More...

#include <filterkernel.h>

Public Member Functions

 FilterKernel ()
 FilterKernel creates a default FilterKernel object.
 
 FilterKernel (const QString &sFilterName, int iFilterType, int iOrder, double dCenterfreq, double dBandwidth, double dParkswidth, double dSFreq, int iDesignMethod)
 
void prepareFilter (int iDataSize)
 
Eigen::RowVectorXd applyConvFilter (const Eigen::RowVectorXd &vecData, bool bKeepOverhead=false) const
 
void applyFftFilter (Eigen::RowVectorXd &vecData, bool bKeepOverhead=false)
 
QString getName () const
 
void setName (const QString &sFilterName)
 
double getSamplingFrequency () const
 
void setSamplingFrequency (double dSFreq)
 
int getFilterOrder () const
 
void setFilterOrder (int iOrder)
 
double getCenterFrequency () const
 
void setCenterFrequency (double dCenterFreq)
 
double getBandwidth () const
 
void setBandwidth (double dBandwidth)
 
double getParksWidth () const
 
void setParksWidth (double dParksWidth)
 
double getHighpassFreq () const
 
void setHighpassFreq (double dHighpassFreq)
 
double getLowpassFreq () const
 
void setLowpassFreq (double dLowpassFreq)
 
Eigen::RowVectorXd getCoefficients () const
 
void setCoefficients (const Eigen::RowVectorXd &vecCoeff)
 
Eigen::RowVectorXcd getFftCoefficients () const
 
void setFftCoefficients (const Eigen::RowVectorXcd &vecFftCoeff)
 
FilterParameter getDesignMethod () const
 
void setDesignMethod (int iDesignMethod)
 
FilterParameter getFilterType () const
 
void setFilterType (int iFilterType)
 
QString getShortDescription () const
 

Static Public Attributes

static QVector< FilterParameterm_designMethods
 
static QVector< FilterParameterm_filterTypes
 

Detailed Description

The FilterKernel class provides methods to create/design a FIR filter kernel.

The FilterKernel class provides methods to create/design a FIR filter kernel

Definition at line 132 of file filterkernel.h.

Constructor & Destructor Documentation

◆ FilterKernel()

FilterKernel::FilterKernel ( const QString &  sFilterName,
int  iFilterType,
int  iOrder,
double  dCenterfreq,
double  dBandwidth,
double  dParkswidth,
double  dSFreq,
int  iDesignMethod 
)

Constructs a FilterKernel object

Parameters
[in]sFilterNameDefines the name of the generated filter.
[in]typeTyep of the filter: LPF, HPF, BPF, NOTCH (from enum FilterType).
[in]iOrderRepresents the order of the filter, the higher the higher is the stopband attenuation.
[in]dCenterfreqDetermines the center of the frequency - normed to sFreq/2 (nyquist).
[in]dBandwidthIgnored if FilterType is set to LPF,HPF. if NOTCH/BPF: bandwidth of stop-/passband - normed to sFreq/2 (nyquist).
[in]dParkswidthDetermines the width of the filter slopes (steepness) - normed to sFreq/2 (nyquist).
[in]dSFreqThe sampling frequency.
[in]designMethodSpecifies the design method to use. Choose between Cosind and Tschebyscheff.

Definition at line 113 of file filterkernel.cpp.

Member Function Documentation

◆ applyConvFilter()

RowVectorXd FilterKernel::applyConvFilter ( const Eigen::RowVectorXd &  vecData,
bool  bKeepOverhead = false 
) const

Applies the current filter to the input data using convolution in time domain.

Parameters
[in]vecDataHolds the data to be filtered.
[in]bKeepOverheadWhether the result should still include the overhead information in front and back of the data. Default is set to false.
Returns
the filtered data in form of a RowVectorXd.

Definition at line 156 of file filterkernel.cpp.

◆ applyFftFilter()

void FilterKernel::applyFftFilter ( Eigen::RowVectorXd &  vecData,
bool  bKeepOverhead = false 
)

Applies the current filter to the input data using multiplication in frequency domain.

Parameters
[in,out]vecDataHolds the data to be filtered. Gets overwritten with its filtered result.
[in]bKeepOverheadWhether the result should still include the overhead information in front and back of the data. Default is set to false.
Returns
the filtered data in form of a RowVectorXd.

Definition at line 180 of file filterkernel.cpp.

◆ prepareFilter()

void FilterKernel::prepareFilter ( int  iDataSize)

Prepares a filter kernel to be used wiht a specific data block length. This is favorable to call before filtering, in order to avoid transforming the filter coefficients anew during filtering. This functions was introduced since one does not always know the data length of the data blocks to be filtered when designing the filter.

Parameters
[in]iDataSizeThe data size to setup the filters to.

Definition at line 140 of file filterkernel.cpp.

Member Data Documentation

◆ m_designMethods

QVector< RTPROCESSINGLIB::FilterParameter > FilterKernel::m_designMethods
static

Vector of possible filter design methods.

Definition at line 240 of file filterkernel.h.

◆ m_filterTypes

QVector< RTPROCESSINGLIB::FilterParameter > FilterKernel::m_filterTypes
static

Vector of possible filter design types.

Definition at line 241 of file filterkernel.h.


The documentation for this class was generated from the following files: