CQエレクトロニクス・セミナ「実習・マイコンを動かしながら学ぶディジタル・フィルタ」で使うプログラム.1次IIRフィルタの係数をターミナルから変更できる. http://seminar.cqpub.co.jp/ccm/ES18-0020
Dependencies: mbed Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG
Filter/IIR1_Variable.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2017-10-09
- Revision:
- 0:47718d3154d9
File content as of revision 0:47718d3154d9:
//--------------------------------------------------- // 一次の IIR フィルタ ― 係数可変 // // 2017/09/24, Copyright (c) 2017 MIKAMI, Naoki //--------------------------------------------------- #ifndef IIR_1ST_VARIABLE_HPP #define IIR_1ST_VARIABLE_HPP #include "mbed.h" class Iir1Variable { public: Iir1Variable(float a1) : a1_(a1), b0_(1.0f - a1), yn_(0) {} // フィルタ処理を実行する int16_t Execute(int16_t xn) { yn_ = a1_*yn_ + b0_*xn; return (int16_t)yn_; } void SetCoefs(float a1) { a1_ = a1; b0_ = 1.0f - a1; } private: float a1_; // 係数 float b0_; // 係数 float yn_; }; #endif // IIR_1ST_VARIABLE_HPP