![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Reverb system using single comb filter class for ST Nucleo F401RE.
comb_filter.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2014-11-15
- Revision:
- 4:e15da80e194e
- Parent:
- 0:47e72130375e
File content as of revision 4:e15da80e194e:
//-------------------------------------------------------------- // Comb filter // 2014/10/23, Copyright (c) 2014 MIKAMI, Naoki //-------------------------------------------------------------- #ifndef COMB_FILTER_HPP #define COMB_FILTER_HPP #include "mbed.h" template<int delay> class CombFilter { private: const float GC_; int ptr_; float un_[delay]; // for delay float Get() { return un_[ptr_]; } void Set(float x) { un_[ptr_] = x; if (++ptr_ >= delay) ptr_ = 0; } public: // Constructor CombFilter(float g) : GC_(g), ptr_(0) {} // Execute comb filter float Execute(float x) { float yn = Get(); Set(x + GC_*yn); return yn; } // Clear internal delay elements void Clear() { for (int n=0; n<delay; n++) un_[n] = 0; } }; #endif // COMB_FILTER_HPP