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

Dependencies:   DSProcessingIO mbed

FIR_Symmetry.hpp

Committer:
CQpub0Mikami
Date:
2014-07-29
Revision:
1:bd300d649b1f
Parent:
0:4498a5360dde

File content as of revision 1:bd300d649b1f:

//--------------------------------------------------------------
// 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