HanningWindow, HammingWindow, BlackmanWindow の各クラス. このライブラリを登録した際のプログラム: Demo_Window
Dependents: TrG_FFT_Analyzer Demo_Window TrG_Spectrogram
Diff: Hanning.hpp
- Revision:
- 1:d8673bf6f89c
- Parent:
- 0:823e9a4ab223
diff -r 823e9a4ab223 -r d8673bf6f89c Hanning.hpp --- a/Hanning.hpp Sun May 23 06:25:26 2021 +0000 +++ b/Hanning.hpp Wed Nov 10 05:47:10 2021 +0000 @@ -2,7 +2,7 @@ // Hanning 窓による窓掛け // ゼロ詰め(zero-padding)の機能を持つ // -// 2021/05/22, Copyright (c) 2021 MIKAMI, Naoki +// 2021/11/10, Copyright (c) 2021 MIKAMI, Naoki //------------------------------------------------------------------- #ifndef HANNING_WINDOW_HPP @@ -17,17 +17,16 @@ public: // コンストラクタ HanningWindow(uint16_t nFft, uint16_t nData) - : WindowBase(nFft, nData) { Generate(nData); } - HanningWindow(uint16_t nFft) - : WindowBase(nFft, nFft) { Generate(nFft); } + : WindowBase(nFft, nData) { Generate(nData); } + explicit HanningWindow(uint16_t nFft) + : WindowBase(nFft, nFft) { Generate(nFft); } private: // 窓関数を生成 virtual void Generate(uint16_t nData) { - const float PI2L = 6.283185f/(float)nData; for (int k=0; k<nData; k++) - Set(k, 0.5f - 0.5f*cosf(k*PI2L)); + Set(k, 0.5f - 0.5f*cosf(k*PI2L_)); } // コピー・コンストラクタおよび代入演算子の禁止のため