不韋 呂
/
UIT2_ToAnalyticSignal
Transform real signal to analytic signal using Hilbert transform filter for ST Nucleo F401RE.
main.cpp
- Committer:
- MikamiUitOpen
- Date:
- 2014-11-15
- Revision:
- 3:befa5e0a4f84
- Parent:
- 2:24161f77d925
File content as of revision 3:befa5e0a4f84:
//-------------------------------------------------------------- // Analytic signal generator // 2014/11/12, Copyright (c) 2014 MIKAMI, Naoki //-------------------------------------------------------------- #include "mbed.h" #include "ADC_Base.hpp" // for ADC not using interrupt #include "DAC_MCP4922Dual.hpp" // for DAC MCP4922 #include "HilbertTransform.hpp" // Hilbert transform filter #include "coefsHilbert114.hpp" // Coeffisients of Hilbert transform filter #include "DC_Cut_Coefficients.hpp" // Coeffisients of DC-cut filter #include "Biquad.hpp" // For DC-cut filter using namespace Mikami; const int FS_ = 12000; // 12 kHz ADC_Base adc_(A0, FS_); DAC_MCP4922Dual myDac_; Hilbert<ORDER_> ht_(hm_); Biquad DcCut_(c1_); // DC cut filter int main() { while (true) { float xn = adc_.Read(); // Read from A0 //----------------------------------------------- xn = DcCut_.Execute(g0_*xn); // DC cut filter float yIn, yQn; ht_.Execute(xn, yIn, yQn); // Hilbert transform filter //----------------------------------------------- myDac_.Write(yIn, yQn); // Write to DAC } }