2018-12-14 09:58:52 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <Eigen/Core>
|
|
|
|
|
2018-12-17 08:16:01 +00:00
|
|
|
namespace fratio {
|
2018-12-14 09:58:52 +00:00
|
|
|
|
|
|
|
template <typename T>
|
2019-01-04 08:15:03 +00:00
|
|
|
using vectX_t = Eigen::Matrix<T, Eigen::Dynamic, 1>; /*!< Eigen column-vector */
|
|
|
|
|
2018-12-18 07:16:47 +00:00
|
|
|
template <typename T>
|
2019-01-04 08:15:03 +00:00
|
|
|
using vectXc_t = vectX_t<std::complex<T>>; /*!< Eigen complex column-vector */
|
2018-12-14 09:58:52 +00:00
|
|
|
|
2019-01-04 08:15:03 +00:00
|
|
|
/*! \brief Filter status */
|
2018-12-14 09:58:52 +00:00
|
|
|
enum class FilterStatus {
|
|
|
|
// Generic filter
|
2019-01-04 08:15:03 +00:00
|
|
|
NONE, /*!< Filter has not yet been initialized */
|
|
|
|
READY, /*!< Filter is ready to process data */
|
|
|
|
BAD_ORDER_SIZE, /*!< Order of the filter is bad */
|
|
|
|
BAD_A_COEFF, /*!< Denominator coefficients of the filter is bad */
|
|
|
|
A_COEFF_MISSING, /*!< Denominator coefficients have not been set */
|
|
|
|
B_COEFF_MISSING, /*!< Numerator coefficients have not been set */
|
|
|
|
ALL_COEFF_MISSING = A_COEFF_MISSING | B_COEFF_MISSING, /*!< Coefficients have not been set */
|
2018-12-14 09:58:52 +00:00
|
|
|
|
|
|
|
// Butterworth filter
|
2019-01-04 08:15:03 +00:00
|
|
|
BAD_FREQUENCY_VALUE, /*!< Given frequency is bad */
|
|
|
|
BAD_CUTOFF_FREQUENCY, /*!< Given ctu-off frequency is bad */
|
|
|
|
BAD_BAND_FREQUENCY /*!< Given band frequency is bad */
|
2018-12-14 09:58:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace fratio
|