-class SignalFilter {
- public:
-
- typedef enum {
- FILTER_INVALID,
- FILTER_BANDLIMIT,
- FILTER_SINC,
- FILTER_G_HAMMING,
- FILTER_COSINE,
- FILTER_TRIANGLE,
- FILTER_ABS_BANDLIMIT, // filter times |x|
- FILTER_ABS_SINC,
- FILTER_ABS_G_HAMMING,
- FILTER_ABS_COSINE,
- FILTER_SHEPP
- } FilterID;
-
- typedef enum {
- FILTER_METHOD_INVALID,
- FILTER_METHOD_CONVOLUTION,
- FILTER_METHOD_FOURIER,
- FILTER_METHOD_FFT,
- FILTER_METHOD_FFT_ZEROPAD_2,
- FILTER_METHOD_FFT_ZEROPAD_4,
- FILTER_METHOD_FFT_ZEROPAD_6
- } FilterMethodID;
-
- typedef enum {
- DOMAIN_INVALID,
- DOMAIN_FREQ,
- DOMAIN_SPATIAL
- } DomainID;
-
- static const char FILTER_ABS_BANDLIMIT_STR[]= "abs_bandlimit";
- static const char FILTER_ABS_SINC_STR[]= "abs_sinc";
- static const char FILTER_ABS_COS_STR[]= "abs_cos";
- static const char FILTER_ABS_HAMMING_STR[]= "abs_hamming";
- static const char FILTER_SHEPP_STR[]= "shepp";
- static const char FILTER_BANDLIMIT_STR[]= "bandlimit";
- static const char FILTER_SINC_STR[]= "sinc";
- static const char FILTER_COS_STR[]= "cos";
- static const char FILTER_HAMMING_STR[]= "hamming";
- static const char FILTER_TRIANGLE_STR[]= "triangle";
-
- static const char FILTER_METHOD_CONVOLUTION_STR[]= "convolution";
- static const char FILTER_METHOD_FOURIER_STR[]= "fourier";
- static const char FILTER_METHOD_FFT_STR[]= "fft";
- static const char FILTER_METHOD_FFT_ZEROPAD_2_STR[]="fft_zeropad2";
- static const char FILTER_METHOD_FFT_ZEROPAD_4_STR[]="fft_zeropad4";
- static const char FILTER_METHOD_FFT_ZEROPAD_6_STR[]="fft_zeropad6";