The experiment using this program is introduced on "Interface" No.12, CQ publishing Co.,Ltd, 2014. 本プログラムを使った実験は,CQ出版社のインターフェース 2014年12月号で紹介しています.
Dependencies: DSProcessingIO mbed
FIR_LPF_Direct.cpp
- Committer:
- CQpub0Mikami
- Date:
- 2014-07-29
- Revision:
- 1:b0a0a1ab01be
- Parent:
- 0:b811ec8a7e8a
File content as of revision 1:b0a0a1ab01be:
//-------------------------------------------------------------- // FIR filter: Even order, Direct form // // Copyright (c) 2014 MIKAMI, Naoki, 2014/07/15 //-------------------------------------------------------------- #include "mbed.h" #include "AdcInternal.hpp" #include "MCP4922Single.hpp" #include "coefficients_200.hpp" #include "FIR_Direct.hpp" using namespace Mikami; // sampling frequency const float FS_ = 10.0e3f; // for AD converter Adc adc_(A0); // for DA converter Dac dacA_(Dac::DAC_A); Ticker timer_; // for timer interrupt DigitalOut pinD8_(D8); // for measurement of execution time FirDirect<ORDER_> lpf(hm_); // Called every 0.1 ms void TimerIsr() { float xn = adc_.Read(); // input // Execute FIR filter float yn = lpf.Execute(xn); dacA_.Write(yn); // output } int main() { timer_.attach_us(&TimerIsr, 1.0e6f/FS_); while (true) {} // infinite loop }