Realtime sound spectrogram using FFT or linear prediction. Spectrogram is displayed on the display of PC. リアルタイム・スペクトログラム.解析の手法:FFT,線形予測法.スペクトログラムは PC のディスプレー装置に表示される.PC 側のプログラム:F446_Spectrogram.
Dependencies: Array_Matrix mbed SerialTxRxIntr F446_AD_DA UIT_FFT_Real
MySpectrogram/AnalyzerBase.cpp
- Committer:
- MikamiUitOpen
- Date:
- 2019-11-24
- Revision:
- 7:5ba884060d3b
- Parent:
- 6:c38ec7939609
File content as of revision 7:5ba884060d3b:
//------------------------------------------------------- // Base abstract class for spectrum analysis // // 2018/11/04, Copyright (c) 2018 MIKAMI, Naoki //------------------------------------------------------- #include "AnalyzerBase.hpp" namespace Mikami { AnalyzerBase::AnalyzerBase(int nData, int nFft, int nUse) : N_DATA_(nData), N_FFT_(nFft), fft_(nFft), wHm_(nData-1, nUse), b1_(1.0f), xData_(nUse), wData_(nUse) {} void AnalyzerBase::Execute(const float xn[], float db[]) { // 高域強調 for (int n=0; n<N_DATA_-1; n++) xData_[n] = xn[n+1] - b1_*xn[n]; // 直流分を除去 float sum = 0; for (int n=0; n<N_FFT_; n++) sum = sum + xData_[n]; float ave = sum/N_FFT_; for (int n=0; n<N_FFT_; n++) xData_[n] = xData_[n] - ave; // 窓掛け wHm_.Execute(xData_, wData_); Analyze(wData_, db); } }