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/LPC_Analysis.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2015-07-26
- Revision:
- 0:c5b026c2d07e
File content as of revision 0:c5b026c2d07e:
//---------------------------------------------------------------
// Class for spectrum analysis using linear prediction (Header)
// Copyright (c) 2014 MIKAMI, Naoki, 2014/12/30
//---------------------------------------------------------------
#ifndef LPC_ANALYZER_HPP
#define LPC_ANALYZER_HPP
#include "fftReal.hpp"
#include "Hamming.hpp"
#include "PeakHolder.hpp"
#include "LinearPrediction.hpp"
namespace Mikami
{
class LpcAnalyzer
{
public:
LpcAnalyzer(int nData, int order, int nFft);
~LpcAnalyzer();
void Execute(float xn[], float db[]);
private:
const int N_DATA_;
const int ORDER_;
const int N_FFT_;
HammingWindow hm_;
LinearPred lp_;
FftReal fft_;
PeakHolder* pkHolder_;
float* xData_; // Data to be analyzed
float* an_;
float* xFft_; // Input for FFT
Complex* yFft_; // Output of FFT
float* normY_; // Powerspectrum
float Sqr(float x) { return x*x; }
};
}
#endif // LPC_ANALYZER_HPP