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

Dependencies:   Array_Matrix mbed SerialTxRxIntr DSP_ADDA UIT_FFT_Real Window

Committer:
MikamiUitOpen
Date:
Wed Nov 03 01:29:16 2021 +0000
Revision:
1:d9dbfbe95c8d
Parent:
0:e5fc70976c00
2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:e5fc70976c00 1 //-------------------------------------------------------
MikamiUitOpen 0:e5fc70976c00 2 // FFT を使ってスペクトル解析を行うクラス(ヘッダ)
MikamiUitOpen 0:e5fc70976c00 3 //
MikamiUitOpen 1:d9dbfbe95c8d 4 // 2021/10/19, Copyright (c) 2021 MIKAMI, Naoki
MikamiUitOpen 0:e5fc70976c00 5 //-------------------------------------------------------
MikamiUitOpen 0:e5fc70976c00 6
MikamiUitOpen 0:e5fc70976c00 7 #ifndef FFT_ANALYZER_HPP
MikamiUitOpen 0:e5fc70976c00 8 #define FFT_ANALYZER_HPP
MikamiUitOpen 0:e5fc70976c00 9
MikamiUitOpen 0:e5fc70976c00 10 #include "Array.hpp"
MikamiUitOpen 0:e5fc70976c00 11 #include "fftReal.hpp"
MikamiUitOpen 0:e5fc70976c00 12 #include "Blackman.hpp"
MikamiUitOpen 0:e5fc70976c00 13
MikamiUitOpen 0:e5fc70976c00 14 namespace Mikami
MikamiUitOpen 0:e5fc70976c00 15 {
MikamiUitOpen 0:e5fc70976c00 16 class FftAnalyzer
MikamiUitOpen 0:e5fc70976c00 17 {
MikamiUitOpen 0:e5fc70976c00 18 public:
MikamiUitOpen 0:e5fc70976c00 19 // nFft: FFT のデータ点の数
MikamiUitOpen 1:d9dbfbe95c8d 20 explicit FftAnalyzer(int nFft);
MikamiUitOpen 0:e5fc70976c00 21 virtual ~FftAnalyzer() {}
MikamiUitOpen 0:e5fc70976c00 22 void Execute(const Array<float> &xn, Array<float> &absFt);
MikamiUitOpen 0:e5fc70976c00 23
MikamiUitOpen 0:e5fc70976c00 24 private:
MikamiUitOpen 0:e5fc70976c00 25 const int N_FFT_;
MikamiUitOpen 0:e5fc70976c00 26
MikamiUitOpen 0:e5fc70976c00 27 FftReal fft_;
MikamiUitOpen 0:e5fc70976c00 28 BlackmanWindow wBlk_;
MikamiUitOpen 0:e5fc70976c00 29
MikamiUitOpen 0:e5fc70976c00 30 Array<float> xData_; // 解析対象の時系列データ
MikamiUitOpen 0:e5fc70976c00 31 Array<float> wData_; // 窓掛けされたデータ
MikamiUitOpen 0:e5fc70976c00 32 Array<Complex> yFft_; // FFT の結果
MikamiUitOpen 0:e5fc70976c00 33
MikamiUitOpen 0:e5fc70976c00 34 // コピー・コンストラクタおよび代入演算子の禁止のため
MikamiUitOpen 0:e5fc70976c00 35 FftAnalyzer(const FftAnalyzer& );
MikamiUitOpen 0:e5fc70976c00 36 FftAnalyzer& operator=(const FftAnalyzer& );
MikamiUitOpen 0:e5fc70976c00 37 };
MikamiUitOpen 0:e5fc70976c00 38 }
MikamiUitOpen 0:e5fc70976c00 39 #endif // FFT_ANALYZER_HPP