The experiment using this program is introduced on "Interface" No.12, CQ publishing Co.,Ltd, 2014. 本プログラムを使った実験は,CQ出版社のインターフェース 2014年12月号で紹介しています.
Dependencies: DSProcessingIO mbed
Diff: FIR_Symmetry.hpp
- Revision:
- 0:4498a5360dde
diff -r 000000000000 -r 4498a5360dde FIR_Symmetry.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FIR_Symmetry.hpp Tue Jul 15 08:21:30 2014 +0000 @@ -0,0 +1,36 @@ +//-------------------------------------------------------------- +// FIR filter ---- Symmetry structure +// Copyright (c) 2014 MIKAMI, Naoki, 2014/06/20 +//-------------------------------------------------------------- + +#ifndef FIR_SYMMETRY_HPP +#define FIR_SYMMETRY_HPP + +#include "mbed.h" +#include "FirBaseClass.hpp" + +namespace Mikami +{ + template<int order> class FirSymmetry : public FirBase<order> + { + public: + using FirBase<order>::xn_; + + FirSymmetry(const float hk[]) : FirBase<order>(hk) {} + + virtual float Execute(float xin) + { + xn_[0] = xin; + + float acc = hm_[order/2]*xn_[order/2]; + for (int k=0; k<order/2; k++) + acc = acc + hm_[k]*(xn_[k] + xn_[order-k]); + + FirBase<order>::Move(); + + return acc; + } + }; +} +#endif // FIR_SYMMETRY_HPP +