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 LPC_Analysis.hpp Source File

LPC_Analysis.hpp

00001 //---------------------------------------------------------------
00002 //  Class for spectrum analysis using linear prediction (Header)
00003 //
00004 //  2015/12/15, Copyright (c) 2015 MIKAMI, Naoki
00005 //---------------------------------------------------------------
00006 
00007 #ifndef LPC_ANALYZER_HPP
00008 #define LPC_ANALYZER_HPP
00009 
00010 #include "AnalysisBase.hpp"
00011 #include "LinearPrediction.hpp"
00012 
00013 namespace Mikami
00014 {
00015     class LpcAnalyzer : public AnalyzerBase
00016     {
00017     public:
00018         LpcAnalyzer(int nData, int nFft, int order);
00019         virtual ~LpcAnalyzer();
00020         
00021     private:
00022         const int ORDER_;
00023 
00024         LinearPred lp_;
00025 
00026         float* an_;     // predictor coefficient 
00027         float* xFft_;   // input for FFT
00028         Complex* yFft_; // output of FFT
00029 
00030         virtual void Analyze(const float xn[], float yn[]);
00031 
00032         // disallow copy constructor and assignment operator
00033         LpcAnalyzer(const LpcAnalyzer& );
00034         LpcAnalyzer& operator=(const LpcAnalyzer& );
00035     };
00036 }
00037 #endif  // LPC_ANALYZER_HPP