56 FilterData::FilterData()
60 FilterData::~FilterData()
66 FilterData::FilterData(QString unique_name, FilterType type,
int order,
double centerfreq,
double bandwidth,
double parkswidth, qint32 fftlength)
68 , m_iFilterOrder(order)
69 , m_iFFTlength(fftlength)
71 ParksMcClellan filter(order, centerfreq, bandwidth, parkswidth, (ParksMcClellan::TPassType)type);
77 Q_UNUSED(unique_name);
85 RowVectorXd t_coeffAzeroPad = RowVectorXd::Zero(
m_iFFTlength);
89 Eigen::FFT<double> fft;
90 fft.SetFlag(fft.HalfSpectrum);
99 RowVectorXd FilterData::applyFFTFilter(RowVectorXd& data)
102 RowVectorXd t_dataZeroPad = RowVectorXd::Zero(
m_iFFTlength);
103 t_dataZeroPad.head(data.cols()) = data;
106 Eigen::FFT<double> fft;
107 fft.SetFlag(fft.HalfSpectrum);
110 RowVectorXcd t_freqData;
111 fft.fwd(t_freqData,t_dataZeroPad);
114 RowVectorXcd t_filteredFreq =
m_dFFTCoeffA.array()*t_freqData.array();
117 RowVectorXd t_filteredTime;
118 fft.inv(t_filteredTime,t_filteredFreq);
void fftTransformCoeffs()
fftTransformCoeffs transforms the calculated filter coefficients to frequency-domain ...
RowVectorXcd m_dFFTCoeffA
The FilterData class represents a derived class from an arbitrary MNEOperator class object...