Applies FIR filtering via FFT-based overlap-add convolution for continuous data streams. More...
#include <rt_filter.h>
Public Types | |
| typedef QSharedPointer< FilterOverlapAdd > | SPtr |
| typedef QSharedPointer< const FilterOverlapAdd > | ConstSPtr |
Public Member Functions | |
| Eigen::MatrixXd | calculate (const Eigen::MatrixXd &matData, int type, double dCenterfreq, double dBandwidth, double dTransition, double dSFreq, int iOrder=1024, int designMethod=UTILSLIB::FilterKernel::m_designMethods.indexOf(UTILSLIB::FilterParameter("Cosine")), const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi(), bool bFilterEnd=true, bool bUseThreads=true, bool bKeepOverhead=false) |
| Eigen::MatrixXd | calculate (const Eigen::MatrixXd &matData, const UTILSLIB::FilterKernel &filterKernel, const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi(), bool bFilterEnd=true, bool bUseThreads=true, bool bKeepOverhead=false) |
| void | reset () |
Applies FIR filtering via FFT-based overlap-add convolution for continuous data streams.
Filtering with FFT convolution and the overlap add method for continuous data streams. This class will hold all needed information about the last block in order to overlap it with the current one.
Definition at line 253 of file rt_filter.h.
| typedef QSharedPointer<const FilterOverlapAdd> RTPROCESSINGLIB::FilterOverlapAdd::ConstSPtr |
Const shared pointer type for FilterOverlapAdd.
Definition at line 257 of file rt_filter.h.
| typedef QSharedPointer<FilterOverlapAdd> RTPROCESSINGLIB::FilterOverlapAdd::SPtr |
Shared pointer type for FilterOverlapAdd.
Definition at line 256 of file rt_filter.h.
| Eigen::MatrixXd RTPROCESSINGLIB::FilterOverlapAdd::calculate | ( | const Eigen::MatrixXd & | matData, |
| const UTILSLIB::FilterKernel & | filterKernel, | ||
| const Eigen::RowVectorXi & | vecPicks = Eigen::RowVectorXi(), | ||
| bool | bFilterEnd = true, | ||
| bool | bUseThreads = true, | ||
| bool | bKeepOverhead = false ) |
Calculates the filtered version of the raw input data based on a given list filters
| [in] | matData | The data which is to be filtered. |
| [in] | filterKernel | The list of filter kernels to use. |
| [in] | vecPicks | Channel indexes to filter. Default is filter all channels. |
| [in] | bFilterEnd | Whether to perform the overlap add in the beginning or end of the data. Default is set to true (end of data). |
| [in] | bUseThreads | Whether to use multiple threads. Default is set to true. |
| [in] | bKeepOverhead | Whether to keep the delayed part of the data after filtering. Default is set to false . |
| Eigen::MatrixXd RTPROCESSINGLIB::FilterOverlapAdd::calculate | ( | const Eigen::MatrixXd & | matData, |
| int | type, | ||
| double | dCenterfreq, | ||
| double | dBandwidth, | ||
| double | dTransition, | ||
| double | dSFreq, | ||
| int | iOrder = 1024, | ||
| int | designMethod = UTILSLIB::FilterKernel::m_designMethods.indexOf(UTILSLIB::FilterParameter("Cosine")), | ||
| const Eigen::RowVectorXi & | vecPicks = Eigen::RowVectorXi(), | ||
| bool | bFilterEnd = true, | ||
| bool | bUseThreads = true, | ||
| bool | bKeepOverhead = false ) |
Creates a user designed filter kernel and filters the raw input data
| [in] | matData | The data which is to be filtered. |
| [in] | type | The type of the filter: LPF, HPF, BPF, NOTCH (from enum FilterType). |
| [in] | dCenterfreq | The center of the frequency. |
| [in] | dBandwidth | The filter bandwidth. Ignored if FilterType is set to LPF,HPF. If NOTCH/BPF: bandwidth of stop-/passband. |
| [in] | dTransition | The transition band determines the width of the filter slopes (steepness). |
| [in] | dSFreq | The input data sampling frequency. |
| [in] | iOrder | Represents the order of the filter, the higher the higher is the stopband attenuation. Default is 1024 taps. |
| [in] | designMethod | The design method to use. Choose between Cosine and Tschebyscheff. Default is set to Cosine. |
| [in] | vecPicks | Channel indexes to filter. Default is filter all channels. |
| [in] | bFilterEnd | Whether to perform the overlap add in the beginning or end of the data. Default is set to true (end of data). |
| [in] | bUseThreads | Whether to use multiple threads. Default is set to true. |
| [in] | bKeepOverhead | Whether to keep the delayed part of the data after filtering. Default is set to false . |
| void FilterOverlapAdd::reset | ( | ) |
Reset the stored overlap matrices
Definition at line 534 of file rt_filter.cpp.