FFT アナライザ このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.
Dependencies: Array_Matrix mbed SerialTxRxIntr DSP_ADDA UIT_FFT_Real Window
Diff: MyFFT_Analyzer/FFT_Analyzer.hpp
- Revision:
- 0:e5fc70976c00
- Child:
- 1:d9dbfbe95c8d
diff -r 000000000000 -r e5fc70976c00 MyFFT_Analyzer/FFT_Analyzer.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MyFFT_Analyzer/FFT_Analyzer.hpp Thu Sep 09 08:52:33 2021 +0000 @@ -0,0 +1,39 @@ +//------------------------------------------------------- +// FFT を使ってスペクトル解析を行うクラス(ヘッダ) +// +// 2021/05/22, Copyright (c) 2021 MIKAMI, Naoki +//------------------------------------------------------- + +#ifndef FFT_ANALYZER_HPP +#define FFT_ANALYZER_HPP + +#include "Array.hpp" +#include "fftReal.hpp" +#include "Blackman.hpp" + +namespace Mikami +{ + class FftAnalyzer + { + public: + // nFft: FFT のデータ点の数 + FftAnalyzer(int nFft); + virtual ~FftAnalyzer() {} + void Execute(const Array<float> &xn, Array<float> &absFt); + + private: + const int N_FFT_; + + FftReal fft_; + BlackmanWindow wBlk_; + + Array<float> xData_; // 解析対象の時系列データ + Array<float> wData_; // 窓掛けされたデータ + Array<Complex> yFft_; // FFT の結果 + + // コピー・コンストラクタおよび代入演算子の禁止のため + FftAnalyzer(const FftAnalyzer& ); + FftAnalyzer& operator=(const FftAnalyzer& ); + }; +} +#endif // FFT_ANALYZER_HPP \ No newline at end of file