FFT によるスペクトル解析器

Dependencies:   Array_Matrix mbed SerialTxRxIntr UIT_FFT_Real DSP_ADDA

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers FFT_Analyzer.hpp Source File

FFT_Analyzer.hpp

00001 //-------------------------------------------------------
00002 //  FFT を使ってスペクトル解析を行うクラス(ヘッダ)
00003 //
00004 //  2020/11/07, Copyright (c) 2020 MIKAMI, Naoki
00005 //-------------------------------------------------------
00006 
00007 #ifndef FFT_ANALYZER_HPP
00008 #define FFT_ANALYZER_HPP
00009 
00010 #include "Array.hpp"
00011 #include "fftReal.hpp"
00012 #include "Blackman.hpp"
00013 
00014 namespace Mikami
00015 {
00016     class FftAnalyzer
00017     {
00018     public:
00019         // nFft:  FFT のデータ点の数
00020         FftAnalyzer(int nFft);
00021         virtual ~FftAnalyzer() {}
00022         void Execute(const Array<float> &xn, Array<float> &absFt);
00023 
00024     private:
00025         const int N_FFT_;
00026 
00027         FftReal fft_;
00028         BlackmanWindow wHm_;
00029 
00030         Array<float> xData_;    // 解析対象の時系列データ
00031         Array<float> wData_;    // 窓掛けされたデータ
00032         Array<Complex> yFft_;   // FFT の結果
00033 
00034         // コピー・コンストラクタおよび代入演算子の禁止のため
00035         FftAnalyzer(const FftAnalyzer& );
00036         FftAnalyzer& operator=(const FftAnalyzer& );
00037     };
00038 }
00039 #endif  // FFT_ANALYZER_HPP