MFir.hh
Go to the documentation of this file.00001 #ifndef _M_FIR_HH_
00002 #define _M_FIR_HH_
00003
00050 #include "QModule.hh"
00051 #include "QVector.hh"
00052 #include "QFFTFir.hh"
00053
00054 class MFir : public QModule {
00055
00056 public:
00058 MFir(QSequence* s);
00059
00061 ~MFir();
00062
00064 void Init();
00065
00067 QEvent* Do(QEvent* ev);
00068
00070 void Done();
00071
00072 private:
00073
00075 void SaveCutFreqByChannel(int channel, double cut_freq);
00076
00078 void SaveSampFreqByChannel(int channel, double samp_freq);
00079
00081 inline const std::string& GetFilename() const {return fOutputFile;}
00082
00084 inline const bool IsSaveFilter() const {return fSaveFilter;}
00085
00086 std::string fOutputFile;
00087 std::string fWindowName;
00088 bool fCausal;
00089 bool fSubSampling;
00090 bool fSaveFilter;
00091 size_t fFilterSize;
00092 int fOldRun;
00093
00094 QFFT::WindowType fWindowType;
00095
00096 struct ChannelFilter {
00097 QFFTFir* fFir;
00098 size_t fSubRatio;
00099 };
00100
00101 std::map<int,ChannelFilter> fChannelFilters;
00102
00103
00104 };
00105
00106 #endif
00107