FFT アナライザ このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.
Dependencies: Array_Matrix mbed SerialTxRxIntr DSP_ADDA UIT_FFT_Real Window
Diff: XferSpectrum.hpp
- Revision:
- 0:e5fc70976c00
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/XferSpectrum.hpp Thu Sep 09 08:52:33 2021 +0000 @@ -0,0 +1,36 @@ +//--------------------------------------------------------------------- +// スペクトル解析の結果を PC へ転送するための XferBase の派生クラス +// +// 2021/07/11, Copyright (c) 2021 MIKAMI, Naoki +//--------------------------------------------------------------------- + +#include "XferBase.hpp" + +#ifndef XFER_SPECTRUM_DERIVED_HPP +#define XFER_SPECTRUM_DERIVED_HPP + +class XferSpectrum : public XferBase +{ +public: + // コンストラクタ + XferSpectrum(SerialRxTxIntr& rxTx, int size) + : XferBase(rxTx, size) {} + +private: + // スペクトル解析の結果を転送する形式に変換 + // yAbs FFT の結果の絶対値 + virtual void Convert(const float yAbs[]) + { + const float MAX = 10000; + for (int n=0; n<SIZE_; n++) + { + float x = yAbs[n]; + xn_[n] = (x > MAX) ? (uint16_t)MAX : (uint16_t)x; + } + } + + // コピー・コンストラクタおよび代入演算子の禁止のため + XferSpectrum(const XferSpectrum&); + XferSpectrum& operator=(const XferSpectrum&); +}; +#endif // XFER_SPECTRUM_DERIVED_HPP \ No newline at end of file