FFT アナライザ このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.
Dependencies: Array_Matrix mbed SerialTxRxIntr DSP_ADDA UIT_FFT_Real Window
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
Generated on Tue Jul 12 2022 21:44:08 by 1.7.2