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
00001 //-------------------------------------------------------------- 00002 // FIR filter: Even order, Direct form 00003 // 00004 // Copyright (c) 2014 MIKAMI, Naoki, 2014/07/15 00005 //-------------------------------------------------------------- 00006 00007 #include "mbed.h" 00008 #include "AdcInternal.hpp" 00009 #include "MCP4922Single.hpp" 00010 #include "coefficients_200.hpp" 00011 #include "FIR_Direct.hpp" 00012 00013 using namespace Mikami; 00014 00015 // sampling frequency 00016 const float FS_ = 10.0e3f; 00017 00018 // for AD converter 00019 Adc adc_(A0); 00020 // for DA converter 00021 Dac dacA_(Dac::DAC_A); 00022 00023 Ticker timer_; // for timer interrupt 00024 DigitalOut pinD8_(D8); // for measurement of execution time 00025 00026 FirDirect<ORDER_> lpf(hm_); 00027 00028 // Called every 0.1 ms 00029 void TimerIsr() 00030 { 00031 float xn = adc_.Read(); // input 00032 00033 // Execute FIR filter 00034 float yn = lpf.Execute(xn); 00035 00036 dacA_.Write(yn); // output 00037 } 00038 00039 int main() 00040 { 00041 timer_.attach_us(&TimerIsr, 1.0e6f/FS_); 00042 00043 while (true) {} // infinite loop 00044 }
Generated on Wed Jul 13 2022 15:52:56 by 1.7.2