FFT アナライザ このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.

Dependencies:   Array_Matrix mbed SerialTxRxIntr DSP_ADDA UIT_FFT_Real Window

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers FFT_Analyzer.hpp Source File

FFT_Analyzer.hpp

00001 //-------------------------------------------------------
00002 //  FFT を使ってスペクトル解析を行うクラス(ヘッダ)
00003 //
00004 //  2021/10/19, Copyright (c) 2021 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         explicit 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 wBlk_;
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