Version using MEMS microphone and CODEC for the program "F746_RealtimeSpectrumAnalyzer". "F746_RealtimeSpectrumAnalyzer" の入力を MEMS のマイクと CODEC に変更.このプログラムは Tomona Nanase さんが作成し DISCO-F746NG_Oscilloscope の名前で登録しているプログラムで, CODEC を使って入力する部分を参考にして作成.このプログラムの説明は,CQ出版社のインターフェース誌,2016年4月号に掲載.
Dependencies: BSP_DISCO_F746NG BUTTON_GROUP LCD_DISCO_F746NG TS_DISCO_F746NG UIT_FFT_Real mbed
AnalysisBase.cpp
00001 //------------------------------------------------------- 00002 // Base class for spectrum analysis 00003 // 00004 // 2015/12/15, Copyright (c) 2015 MIKAMI, Naoki 00005 //------------------------------------------------------- 00006 00007 #include "AnalysisBase.hpp" 00008 00009 namespace Mikami 00010 { 00011 AnalyzerBase::AnalyzerBase(int nData, int nFft, int nUse) 00012 : N_DATA_(nData), N_FFT_(nFft), 00013 fft_(nFft), wHm_(nData-1, nUse), 00014 xData_(new float[nUse]), wData_(new float[nUse]) {} 00015 00016 AnalyzerBase::~AnalyzerBase() 00017 { 00018 delete[] xData_; 00019 } 00020 00021 void AnalyzerBase::Execute(const float xn[], float db[]) 00022 { 00023 // Differencing 00024 for (int n=0; n<N_DATA_-1; n++) 00025 xData_[n] = xn[n+1] - xn[n]; 00026 00027 // Windowing (FFT, cepstrum: + zero-padding) 00028 wHm_.Execute(xData_, wData_); 00029 00030 // Pure virtual function for analyzing 00031 Analyze(wData_, db); 00032 } 00033 } 00034
Generated on Sun Jul 17 2022 12:37:24 by 1.7.2