CW Decoder (Morse code decoder) 1st release version. Only run on Nucleo-F446RE mbed board.
Dependencies: Array_Matrix F446_AD_DA ST7565_SPI_LCD TextLCD UIT_FFT_Real
Fork of F446_MySoundMachine by
Base on F446_MySoundMachine program created by 不韋 呂-san.
Thanks to 不韋 呂-san making fundamental part such as FFT and ADC high speed interrupt driven program.
I just combined LCD and show CW code.
SignalProcessing/VariableLpHp.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2017-01-30
- Revision:
- 4:2f06a5893e4a
- Parent:
- 0:fa74b1130cc3
- Child:
- 5:503bd366fd73
File content as of revision 4:2f06a5893e4a:
//-------------------------------------------------------------- // 遮断周波数可変フィルタ,LPF と HPF // // 2017/01/30, Copyright (c) 2017 MIKAMI, Naoki //-------------------------------------------------------------- #ifndef VARIABLE_LOWPASS_HIGHPASS_FILTER_HPP #define VARIABLE_LOWPASS_HIGHPASS_FILTER_HPP #include "IIR_Cascade.hpp" #include "SignalProcessing.hpp" #include "BilinearDesignLH.hpp" #include "Array.hpp" using namespace Mikami; class VariableLpHp : public SignalProcessing { public: VariableLpHp(int order, float fs) : ORDER2_(order/2), coefs_(order/2), coefsIir_(order/2), designer_(order, fs), filter_(order) {} virtual float Execute(float xn1, float xn2) { return filter_.Execute((xn1 + xn2)*0.5f); } void Design(float fc, BilinearDesign::Type passBand) { float g0; designer_.Execute(fc, passBand, coefs_, g0); for (int n=0; n<ORDER2_; n++) coefsIir_[n] = *(Biquad::Coefs *)&coefs_[n]; filter_.SetCoefs(g0, coefsIir_); filter_.Clear(); } private: const int ORDER2_; Array<BilinearDesign::Coefs> coefs_; Array<Biquad::Coefs> coefsIir_; BilinearDesign designer_; IirCascade filter_; }; #endif // VARIABLE_LOWPASS_HIGHPASS_FILTER_HPP