Integrated program of 4 different kinds of application programs for processing sound signal. 4種類のサウンド信号処理を統合したプログラム.
Dependencies: F746_GUI F746_SAI_IO FrequencyResponseDrawer SD_PlayerSkeleton UIT_FFT_Real
MyAcousticEffector_MIC/IIR_Cascade.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2017-01-16
- Revision:
- 7:2735829e6657
- Parent:
- 0:224dccbc4edd
- Child:
- 10:5168b49e1d77
File content as of revision 7:2735829e6657:
//------------------------------------------------------------------------------ // 縦続形 IIR フィルタのクラス // // 2016/04/12, Copyright (c) 2016 MIKAMI, Naoki //------------------------------------------------------------------------------ #ifndef IIR_CASCADE_HPP #define IIR_CASCADE_HPP #include "Biquad.hpp" namespace Mikami { template<int order> class IIR_Cascade { public: // コンストラクタ IIR_Cascade(const Biquad::Coefs ck[], float g0) : g0_(g0) { for (int n=0; n<order/2; n++) hk_[n] = Biquad(ck[n]); Clear(); } // デストラクタ ~IIR_Cascade() { for (int n=0; n<order/2; n++) delete hk_[n]; } // 過去の計算結果を格納する配列のクリア void Clear() { for (int k=0; k<order/2; k++) hk_[k].Clear(); } // フィルタ処理の実行 float Execute(float xn) { float yn = g0_*xn; for (int k=0; k<order/2; k++) yn = hk_[k].Execute(yn); return yn; } private: Biquad hk_[order/2]; // 2 次の IIR フィルタ const float g0_; // 利得定数 }; } #endif // IIR_CASCADE_HPP