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
SpactrumAnalysisClasses/PeakHolder.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2015-07-26
- Revision:
- 0:c5b026c2d07e
File content as of revision 0:c5b026c2d07e:
//-------------------------------------------------------------------
// Peak holder
// Copyright (c) 2014 MIKAMI, Naoki, 2014/12/20
//-------------------------------------------------------------------
#ifndef PEAK_HOLDER_HPP
#define PEAK_HOLDER_HPP
#include "mbed.h"
namespace Mikami
{
class PeakHolder
{
private:
float a1_, b0_;
float ynM1_;
public:
// Constructor
explicit PeakHolder(float a1 = 0)
{
SetCoefs(a1);
ynM1_ = 0;
}
// Argument a1 must be as follows: 0 < a1 < 1
void SetCoefs(float a1)
{
a1_ = a1;
b0_ =1.0f - a1;
}
float Execute(float xn)
{
float yn = xn;
if (xn < ynM1_) yn = a1_*ynM1_ + b0_*xn;
ynM1_ = yn;
return yn;
}
};
}
#endif // PEAK_HOLDER_HPP