Real-time spectrum analyzer for ST Nucleo F401RE using Seeed Studio 2.8'' TFT Touch Shield V2.0.
Dependencies: SeeedStudioTFTv2 UITDSP_ADDA UIT_FFT_Real mbed
PeakHolder.hpp
00001 //------------------------------------------------------------------- 00002 // Peak holder 00003 // Copyright (c) 2014 MIKAMI, Naoki, 2014/12/20 00004 //------------------------------------------------------------------- 00005 00006 #ifndef PEAK_HOLDER_HPP 00007 #define PEAK_HOLDER_HPP 00008 00009 #include "mbed.h" 00010 00011 namespace Mikami 00012 { 00013 class PeakHolder 00014 { 00015 private: 00016 float a1_, b0_; 00017 float ynM1_; 00018 00019 public: 00020 // Constructor 00021 explicit PeakHolder(float a1 = 0) 00022 { 00023 SetCoefs(a1); 00024 ynM1_ = 0; 00025 } 00026 00027 // Argument a1 must be as follows: 0 < a1 < 1 00028 void SetCoefs(float a1) 00029 { 00030 a1_ = a1; 00031 b0_ =1.0f - a1; 00032 } 00033 00034 float Execute(float xn) 00035 { 00036 float yn = xn; 00037 if (xn < ynM1_) yn = a1_*ynM1_ + b0_*xn; 00038 ynM1_ = yn; 00039 00040 return yn; 00041 } 00042 }; 00043 } 00044 #endif // PEAK_HOLDER_HPP 00045
Generated on Wed Jul 13 2022 10:14:59 by 1.7.2