The experiment using this program is introduced on "Interface" No.12, CQ publishing Co.,Ltd, 2014. 本プログラムを使った実験は,CQ出版社のインターフェース 2014年12月号で紹介しています.

Dependencies:   DSProcessingIO mbed

Committer:
CQpub0Mikami
Date:
Tue Jul 29 06:53:35 2014 +0000
Revision:
1:b0a0a1ab01be
Parent:
0:b811ec8a7e8a
ver.2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CQpub0Mikami 0:b811ec8a7e8a 1 //--------------------------------------------------------------
CQpub0Mikami 0:b811ec8a7e8a 2 // FIR filter ---- Direct structure
CQpub0Mikami 0:b811ec8a7e8a 3 // copyright (c) 2014 MIKAMI, Naoki, 2014/06/20
CQpub0Mikami 0:b811ec8a7e8a 4 //--------------------------------------------------------------
CQpub0Mikami 0:b811ec8a7e8a 5
CQpub0Mikami 0:b811ec8a7e8a 6 #ifndef FIR_DIRECT_HPP
CQpub0Mikami 0:b811ec8a7e8a 7 #define FIR_DIRECT_HPP
CQpub0Mikami 0:b811ec8a7e8a 8
CQpub0Mikami 0:b811ec8a7e8a 9 #include "mbed.h"
CQpub0Mikami 0:b811ec8a7e8a 10 #include "FirBaseClass.hpp"
CQpub0Mikami 0:b811ec8a7e8a 11
CQpub0Mikami 0:b811ec8a7e8a 12 namespace Mikami
CQpub0Mikami 0:b811ec8a7e8a 13 {
CQpub0Mikami 0:b811ec8a7e8a 14 template<int order> class FirDirect : public FirBase<order>
CQpub0Mikami 0:b811ec8a7e8a 15 {
CQpub0Mikami 0:b811ec8a7e8a 16 public:
CQpub0Mikami 0:b811ec8a7e8a 17 using FirBase<order>::xn_;
CQpub0Mikami 0:b811ec8a7e8a 18
CQpub0Mikami 0:b811ec8a7e8a 19 FirDirect(const float hk[]) : FirBase<order>(hk) {}
CQpub0Mikami 0:b811ec8a7e8a 20
CQpub0Mikami 0:b811ec8a7e8a 21 virtual float Execute(float xin)
CQpub0Mikami 0:b811ec8a7e8a 22 {
CQpub0Mikami 0:b811ec8a7e8a 23 xn_[0] = xin;
CQpub0Mikami 0:b811ec8a7e8a 24
CQpub0Mikami 0:b811ec8a7e8a 25 float acc = 0;
CQpub0Mikami 0:b811ec8a7e8a 26 for (int k=0; k<=order; k++)
CQpub0Mikami 0:b811ec8a7e8a 27 acc = acc + hm_[k]*xn_[k];
CQpub0Mikami 0:b811ec8a7e8a 28
CQpub0Mikami 0:b811ec8a7e8a 29 FirBase<order>::Move();
CQpub0Mikami 0:b811ec8a7e8a 30
CQpub0Mikami 0:b811ec8a7e8a 31 return acc;
CQpub0Mikami 0:b811ec8a7e8a 32 }
CQpub0Mikami 0:b811ec8a7e8a 33 };
CQpub0Mikami 0:b811ec8a7e8a 34 }
CQpub0Mikami 0:b811ec8a7e8a 35 #endif // FIR_DIRECT_HPP
CQpub0Mikami 0:b811ec8a7e8a 36