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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CepstrumAnalysis.hpp Source File

CepstrumAnalysis.hpp

00001 //-------------------------------------------------------
00002 //  Class for spectrum analysis using cepstrum (Header)
00003 //
00004 //  2015/12/15, Copyright (c) 2015 MIKAMI, Naoki
00005 //-------------------------------------------------------
00006 
00007 #ifndef CEPSTRUM_ANALYZER_HPP
00008 #define CEPSTRUM_ANALYZER_HPP
00009 
00010 #include "AnalysisBase.hpp"
00011 
00012 
00013 namespace Mikami
00014 {
00015     class CepstrumAnalyzer : public AnalyzerBase
00016     {
00017     public:
00018         CepstrumAnalyzer(int nData, int nFft, int nLifter);
00019         virtual ~CepstrumAnalyzer();
00020 
00021     private:
00022         const int N_LIFTER_;
00023 
00024         Complex* yFft_;     // output of FFT
00025         float* lifter_;     // lifter
00026         Complex* db_;       // real part: log spectrun
00027         float* cep_;        // cepstrum
00028         float* cepLft_;     // liftered cepstrum
00029         Complex* cepFt_;    // smoothed spectrum
00030 
00031         virtual void Analyze(const float xn[], float yn[]);
00032 
00033         // disallow copy constructor and assignment operator
00034         CepstrumAnalyzer(const CepstrumAnalyzer& );
00035         CepstrumAnalyzer& operator=(const CepstrumAnalyzer& );
00036     };
00037 }
00038 #endif  // CEPSTRUM_ANALYZER_HPP
00039