
Realtime sound spectrogram using FFT or linear prediction. Spectrogram is displayed on the display of PC. リアルタイム・スペクトログラム.解析の手法:FFT,線形予測法.スペクトログラムは PC のディスプレー装置に表示される.PC 側のプログラム:F446_Spectrogram.
Dependencies: Array_Matrix mbed SerialTxRxIntr F446_AD_DA UIT_FFT_Real
Revision 6:c38ec7939609, committed 2018-11-04
- Comitter:
- MikamiUitOpen
- Date:
- Sun Nov 04 10:41:02 2018 +0000
- Parent:
- 5:fcc1b0b4737e
- Child:
- 7:5ba884060d3b
- Commit message:
- 7
Changed in this revision
--- a/MySpectrogram/AnalyzerBase.cpp Sun Oct 07 05:15:04 2018 +0000 +++ b/MySpectrogram/AnalyzerBase.cpp Sun Nov 04 10:41:02 2018 +0000 @@ -1,7 +1,7 @@ //------------------------------------------------------- // Base abstract class for spectrum analysis // -// 2017/02/09, Copyright (c) 2017 MIKAMI, Naoki +// 2018/11/04, Copyright (c) 2018 MIKAMI, Naoki //------------------------------------------------------- #include "AnalyzerBase.hpp" @@ -18,7 +18,13 @@ // 高域強調 for (int n=0; n<N_DATA_-1; n++) xData_[n] = xn[n+1] - b1_*xn[n]; - + + // 直流分を除去 + float sum = 0; + for (int n=0; n<N_FFT_; n++) sum = sum + xData_[n]; + float ave = sum/N_FFT_; + for (int n=0; n<N_FFT_; n++) xData_[n] = xData_[n] - ave; + // 窓掛け wHm_.Execute(xData_, wData_);
--- a/MySpectrogram/AnalyzerBase.hpp Sun Oct 07 05:15:04 2018 +0000 +++ b/MySpectrogram/AnalyzerBase.hpp Sun Nov 04 10:41:02 2018 +0000 @@ -1,7 +1,7 @@ //------------------------------------------------------- // Base abstract class for spectrum analysis (Header) // -// 2017/02/09, Copyright (c) 2017 MIKAMI, Naoki +// 2018/11/04, Copyright (c) 2018 MIKAMI, Naoki //------------------------------------------------------- #ifndef BASE_ANALYZER_HPP
--- a/MySpectrogram/FFT_Analyzer.cpp Sun Oct 07 05:15:04 2018 +0000 +++ b/MySpectrogram/FFT_Analyzer.cpp Sun Nov 04 10:41:02 2018 +0000 @@ -1,7 +1,7 @@ //------------------------------------------------------- // Class for spectrum analysis using FFT // -// 2017/02/04, Copyright (c) 2017 MIKAMI, Naoki +// 2018/11/04, Copyright (c) 2018 MIKAMI, Naoki //------------------------------------------------------- #include "FFT_Analyzer.hpp" @@ -17,7 +17,7 @@ fft_.Execute(xn, yFft_); // Execute FFT // Translate to dB - for (int n=0; n<=N_FFT_/2; n++) + for (int n=2; n<=N_FFT_/2; n++) yn[n] = 10.0f*log10f(Norm(yFft_[n])); } }
--- a/MySpectrogram/FFT_Analyzer.hpp Sun Oct 07 05:15:04 2018 +0000 +++ b/MySpectrogram/FFT_Analyzer.hpp Sun Nov 04 10:41:02 2018 +0000 @@ -1,7 +1,7 @@ //------------------------------------------------------- // Class for spectrum analysis using FFT (Header) // -// 2017/02/04, Copyright (c) 2017 MIKAMI, Naoki +// 2018/11/04, Copyright (c) 2018 MIKAMI, Naoki //------------------------------------------------------- #ifndef FFT_ANALYZER_HPP
--- a/main.cpp Sun Oct 07 05:15:04 2018 +0000 +++ b/main.cpp Sun Nov 04 10:41:02 2018 +0000 @@ -14,7 +14,7 @@ // ● 出力 A2: 左チャンネル,D13 右チャンネル // 入力をそのまま出力する // -// 2018/10/07, Copyright (c) 2018 MIKAMI, Naoki +// 2018/11/04, Copyright (c) 2018 MIKAMI, Naoki //--------------------------------------------------------------------- #include "mbed.h"