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 XferSpectrum.hpp Source File

XferSpectrum.hpp

00001 //---------------------------------------------------------------------
00002 //  スペクトル解析の結果を PC へ転送するための XferBase の派生クラス
00003 //
00004 //  2021/07/11, Copyright (c) 2021 MIKAMI, Naoki
00005 //---------------------------------------------------------------------
00006 
00007 #include "XferBase.hpp"
00008 
00009 #ifndef XFER_SPECTRUM_DERIVED_HPP
00010 #define XFER_SPECTRUM_DERIVED_HPP
00011 
00012 class XferSpectrum : public XferBase
00013 {
00014 public:
00015     // コンストラクタ
00016     XferSpectrum(SerialRxTxIntr& rxTx, int size)
00017         : XferBase(rxTx, size) {}
00018 
00019 private:
00020     // スペクトル解析の結果を転送する形式に変換
00021     //      yAbs    FFT の結果の絶対値
00022     virtual void Convert(const float yAbs[])
00023     {
00024         const float MAX = 10000;
00025         for (int n=0; n<SIZE_; n++)
00026         {
00027             float x = yAbs[n];
00028             xn_[n] = (x > MAX) ? (uint16_t)MAX : (uint16_t)x; 
00029         }
00030     }
00031     
00032     // コピー・コンストラクタおよび代入演算子の禁止のため
00033     XferSpectrum(const XferSpectrum&);
00034     XferSpectrum& operator=(const XferSpectrum&);
00035 };
00036 #endif  // XFER_SPECTRUM_DERIVED_HPP