不韋 呂
/
OpenCampus_FreqConv
入力信号のすべての周波数成分の周波数を,一定の周波数だけシフトするプログラム Frequeency shifter.
FrequencyConverter/FrequencyConverter.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2015-08-09
- Revision:
- 2:b83deff26f1f
- Parent:
- 0:f69d3c64978d
File content as of revision 2:b83deff26f1f:
//-------------------------------------------------------------- // Frequency converter system class // Copyright (c) 2014 MIKAMI, Naoki, 2014/07/20 //-------------------------------------------------------------- #ifndef FREQUENCYCONVERTER_HPP #define FREQUENCYCONVERTER_HPP #include "mbed.h" #include "HilbertTransform.hpp" #include "coefsHilbert94.hpp" #include "DC_Cut_Coefficients.hpp" #include "TwoPhaseGenerator.hpp" namespace Mikami { class FrqConvSystem { private: Hilbert<ORDER_> ht_; Biquad DcCut_; // DC cut filter TwoPhaseGenerator sinCos_; // 100.0 Hz public: FrqConvSystem(float fC, float fS) : ht_(hm_), DcCut_(cDccut_), sinCos_(fC, fS) {} float Execute(float x) { float yI, yQ, cosx, sinx; float xn = x; xn = DcCut_.Execute(gDccut_*x); // DC cut ht_.Execute(xn, yI, yQ); // Hilbert transform sinCos_.Generate(cosx, sinx); // cos and sin generator float yn = yI*cosx - yQ*sinx; // conversion return yn; }; }; } #endif // FREQUENCYCONVERTER_HPP