Realtime spectrogram for DISCO-F746NG. On-board MEMS microphone is used for input sound signal. リアルタイムスペクトログラム.入力:MEMSマイク
Dependencies: F746_GUI F746_SAI_IO UIT_FFT_Real
Diff: MyClasses_Functions/AnalysisBase.cpp
- Revision:
- 0:9470a174c910
- Child:
- 2:1f092ac020e1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MyClasses_Functions/AnalysisBase.cpp Sun May 22 06:28:40 2016 +0000 @@ -0,0 +1,34 @@ +//------------------------------------------------------- +// Base class for spectrum analysis +// +// 2016/05/14, Copyright (c) 2015 MIKAMI, Naoki +//------------------------------------------------------- + +#include "AnalysisBase.hpp" + +namespace Mikami +{ + AnalyzerBase::AnalyzerBase(int nData, int nFft, int nUse) + : N_DATA_(nData), N_FFT_(nFft), + fft_(nFft), wHm_(nData-1, nUse), + xData_(new float[nUse]), wData_(new float[nUse]) {} + + AnalyzerBase::~AnalyzerBase() + { + delete[] xData_; + } + + void AnalyzerBase::Execute(const float xn[], float db[]) + { + // Differencing + for (int n=0; n<N_DATA_-1; n++) + xData_[n] = xn[n+1] - 0.8f*xn[n]; + + // Windowing (FFT, cepstrum: + zero-padding) + wHm_.Execute(xData_, wData_); + + // Pure virtual function for analyzing + Analyze(wData_, db); + } +} +