Polyphase anti-aliased rational resampling for MEG/EEG data. More...
#include <resample.h>
Static Public Member Functions | |
| static Eigen::RowVectorXd | resample (const Eigen::RowVectorXd &vecData, double dNewSFreq, double dOldSFreq, int iNZeros=10) |
| static Eigen::MatrixXd | resampleMatrix (const Eigen::MatrixXd &matData, double dNewSFreq, double dOldSFreq, const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi(), int iNZeros=10) |
Polyphase anti-aliased rational resampling for MEG/EEG data.
Definition at line 84 of file resample.h.
|
static |
Resample a single-channel row vector from dOldSFreq to dNewSFreq.
The ratio is reduced to its lowest terms p/q via GCD, then a polyphase Hamming-windowed sinc filter is applied. The output length is ceil(nSamples · p / q).
| [in] | vecData | Input row vector (calibrated, SI units). |
| [in] | dNewSFreq | Target sampling frequency in Hz. |
| [in] | dOldSFreq | Original sampling frequency in Hz. |
| [in] | iNZeros | Number of sinc zero-crossings on each side of the kernel (default 10). Higher values give better stopband attenuation at the cost of speed. |
Definition at line 161 of file resample.cpp.
|
static |
Resample every row of a data matrix.
| [in] | matData | Input matrix (n_channels × n_samples). |
| [in] | dNewSFreq | Target sampling frequency in Hz. |
| [in] | dOldSFreq | Original sampling frequency in Hz. |
| [in] | vecPicks | Optional channel indices to resample; if empty all rows are processed. Non-selected rows are returned at their original length — in practice always pass picks or leave empty for a uniform matrix result. |
| [in] | iNZeros | Sinc zero-crossings per side (default 10). |
Definition at line 196 of file resample.cpp.